Freigeben über


Konfigurieren von Azure Database for PostgreSQL in einer Kopieraktivität

In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in der Datenpipeline verwenden, um Daten aus und in Azure Database for PostgreSQL zu kopieren.

Unterstützte Konfiguration

Die Konfiguration der einzelnen Registerkarten unter der Kopieraktivität finden Sie in den folgenden Abschnitten.

Allgemein

Informationen zum Konfigurieren der Registerkarte Allgemein finden Sie unter Allgemeine Einstellungen.

`Source`

Wechseln Sie zur Registerkarte Quelle, um die Quelle der Kopieraktivität zu konfigurieren. Die ausführliche Konfiguration finden Sie im Folgenden.

Screenshot showing source tab and the list of properties.

Die folgenden drei Eigenschaften sind erforderlich:

  • Datenspeichertyp: Wählen Sie Extern aus.
  • Verbindung: Wählen Sie eine Azure Database for PostgreSQL-Verbindung aus der Verbindungsliste aus. Ist keine Verbindung vorhanden, erstellen Sie eine neue Azure Database for PostgreSQL-Verbindung, indem Sie Neu auswählen.
  • Verbindungstyp: Wählen Sie Azure Database for PostgreSQL aus.
  • Abfrage verwenden: Wählen Sie Tabelle aus, um Daten aus der angegebenen Tabelle zu lesen, oder wählen Sie Abfrage aus, um Daten mithilfe von Abfragen zu lesen.
    • Wenn Sie Tabelle auswählen:

      • Tabelle: Wählen Sie die Tabelle in der Dropdownliste aus, oder wählen Sie Bearbeiten aus, um sie manuell einzugeben und Daten zu lesen.

        Screenshot showing Use query - Table.

    • Wenn Sie Abfrage auswählen:

      • Abfrage: Geben Sie die benutzerdefinierte SQL-Abfrage zum Lesen der Daten an. Beispiel: SELECT * FROM mytable oder SELECT * FROM "MyTable".

        Hinweis

        In PostgreSQL wird bei Entitätsnamen die Groß-/Kleinschreibung nicht berücksichtigt, wenn keine Anführungszeichen verwendet werden.

        Screenshot showing Use query - Query.

Unter Erweitert können Sie die folgenden Felder angeben:

  • Partitionsoption: Gibt die Datenpartitionierungsoptionen an, die zum Laden von Daten aus Azure Database for PostgreSQL verwendet werden. Wenn eine Partitionierungsoption aktiviert ist (d. h. nicht Keine), wird der Parallelitätsgrad für das gleichzeitige Laden von Daten aus Azure Database for PostgreSQL durch die Einstellung Parallelitätsgrad für Kopiervorgänge auf der Registerkarte mit den Einstellungen der Kopieraktivität gesteuert.

    Wenn Sie Keine auswählen, wird keine Partition verwendet.

    Wenn Sie Physische Partitionen der Tabelle auswählen, gilt Folgendes:

    • Partitionsnamen: Geben Sie die Liste der physischen Partitionen an, die kopiert werden muss.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfTabularPartitionName in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL.

      Screenshot showing the configuration when you select Physical partitions of table.

    Wenn Sie Dynamischer Bereich auswählen, gilt Folgendes:

    • Partitionsspaltenname: Geben Sie den Namen der Quellspalte als Typ „integer“ oder „date/datetime“ (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone oder time without time zone) an, der bei der Bereichspartitionierung für das parallele Kopieren verwendet wird. Ohne Angabe wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionColumnName in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL.

    • Partitionsobergrenze: Geben Sie den maximalen Wert der Partitionsspalte für das Herauskopieren von Daten an.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionUpbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL. .

    • Partitionsuntergrenze: Geben Sie den minimalen Wert der Partitionsspalte für das Herauskopieren von Daten an.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionLowbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL.

      Screenshot showing the configuration when you select Dynamic range.

  • Zusätzliche Spalten: Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt.

Destination

Wechseln Sie zur Registerkarte Ziel, um das Ziel der Kopieraktivität zu konfigurieren. Die ausführliche Konfiguration finden Sie im Folgenden.

Screenshot showing destination tab and the list of properties.

Die folgenden drei Eigenschaften sind erforderlich:

  • Datenspeichertyp: Wählen Sie Extern aus.
  • Verbindung: Wählen Sie eine Azure Database for PostgreSQL-Verbindung aus der Verbindungsliste aus. Ist keine Verbindung vorhanden, erstellen Sie eine neue Azure Database for PostgreSQL-Verbindung, indem Sie Neu auswählen.
  • Verbindungstyp: Wählen Sie Azure Database for PostgreSQL aus.
  • Tabelle: Wählen Sie die Tabelle in der Dropdownliste aus, oder wählen Sie Bearbeiten aus, um sie manuell einzugeben und Daten zu schreiben.

Unter Erweitert können Sie die folgenden Felder angeben:

  • Schreibmethode: Wählen Sie die Methode zum Schreiben von Daten in Azure Database for PostgreSQL aus. Wählen Sie zwischen Kopierbefehl (Standardeinstellung und leistungsstärker) und Masseneinfügen.

  • Kopiervorbereitungsskript: Geben Sie eine SQL-Abfrage für die Kopieraktivität an, die bei jeder Ausführung ausgeführt wird, bevor Daten in Azure Database for PostgreSQL geschrieben werden. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen.

  • Zeitlimit für Batchschreibvorgang: Geben Sie die Wartezeit an, bis der Batch-Einfügevorgang beendet ist, bevor er eine Zeitüberschreitung verursacht. Der zulässige Wert ist ein Timespan-Wert. Der Standardwert lautet „00:30:00“ (30 Minuten).

  • Batchgröße für Schreibvorgang: Geben Sie die Anzahl von Zeilen an, die pro Batch in Azure Database for PostgreSQL geladen werden. Als Wert ist ein Integer zulässig, der die Anzahl der Zeilen angibt. Der Standardwert ist 1.000.000.

Zuordnung

Informationen zur Konfiguration der Registerkarte Zuordnung finden Sie unter Konfigurieren der Zuordnungen auf der Registerkarte „Zuordnung“.

Einstellungen

Wechseln Sie für die Konfiguration der Registerkarte Einstellungen zu Konfigurieren der anderen Einstellungen auf der Registerkarte „Einstellungen“.

Paralleles Kopieren aus Azure Database for PostgreSQL

Der Connector für Azure SQL-Datenbank in der Kopieraktivität verfügt über eine integrierte Datenpartitionierung zum parallelen Kopieren von Daten. Die Datenpartitionierungsoptionen befinden sich auf der Registerkarte Quelle der Kopieraktivität.

Wenn Sie das partitionierte Kopieren aktivieren, führt die Kopieraktivität parallele Abfragen für Ihre Azure SQL-Datenbank-Quelle aus, um Daten in Partitionen zu laden. Der Parallelitätsgrad wird über die Einstellung Parallelitätsgrad für Kopiervorgänge auf der Registerkarte mit den Einstellungen der Kopieraktivität gesteuert. Wenn Sie Parallelitätsgrad für Kopiervorgänge z. B. auf „4“ festlegen, generiert der Dienst basierend auf der von Ihnen angegebenen Partitionsoption und Ihren Einstellungen gleichzeitig vier Abfragen und führt sie aus. Dabei ruft jede Abfrage einen Teil der Daten von Azure Database for PostgreSQL ab.

Es wird empfohlen, das parallele Kopieren mit Datenpartitionierung zu aktivieren, vor allem, wenn Sie große Datenmengen aus Ihrer Azure SQL-Datenbank-Instanz laden. Im Anschluss finden Sie empfohlene Konfigurationen für verschiedene Szenarien. Beim Kopieren von Daten in einen dateibasierten Datenspeicher wird empfohlen, mehrere Dateien in einen Ordner zu schreiben (nur den Ordnernamen anzugeben). In diesem Fall ist die Leistung besser als beim Schreiben in eine einzelne Datei.

Szenario Empfohlene Einstellungen
Vollständiges Laden aus einer großen Tabelle mit physischen Partitionen Partitionsoption: Physische Partitionen der Tabelle.

Während der Ausführung erkennt der Dienst automatisch die physischen Partitionen und kopiert Daten nach Partitionen.
Vollständiges Laden aus einer großen Tabelle ohne physische Partitionen, aber mit einer Integerspalte für die Datenpartitionierung Partitionsoptionen: Dynamischer Bereich.
Partitionsspalte: Geben Sie die Spalte für die Datenpartitionierung an. Ohne Angabe wird die Primärschlüsselspalte verwendet.
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage mit physischen Partitionen Partitionsoption: Physische Partitionen der Tabelle.
Abfrage: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>
Partitionsname: Geben Sie den Namen der Partitionen an, aus denen Daten kopiert werden sollen. Wenn keine Angabe erfolgt, erkennt der Dienst automatisch die physischen Partitionen in der Tabelle, die Sie im PostgreSQL-Dataset angegeben haben.

Während der Ausführung ersetzt der Dienst ?AdfTabularPartitionName mit dem tatsächlichen Partitionsnamen und sendet an Azure DB for PostgreSQL.
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage ohne physische Partitionen, aber mit einer Integerspalte für die Datenpartitionierung Partitionsoptionen: Dynamischer Bereich.
Abfrage: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>
Partitionsspalte: Geben Sie die Spalte für die Datenpartitionierung an. Sie können eine Partition für die Spalte mit einem Integer- oder date/datetime-Datentyp erstellen.
Partitionsobergrenze und Partitionsuntergrenze: Geben Sie an, ob Sie anhand der Partitionsspalte filtern möchten, um nur Daten zwischen der Ober- und der Untergrenze zu erhalten.

Während der Ausführung ersetzt der Dienst ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound und ?AdfRangePartitionLowbound mit dem tatsächlichen Spaltennamen und den Wertbereichen für jede Partition und sendet an Azure DB for PostgreSQL.
Wenn z. B. für Ihre Partitionsspalte „ID“ die untere Grenze auf 1 und die obere Grenze auf 80 festgelegt ist und die Parallelkopie auf 4 eingestellt ist, ruft der Dienst Daten nach 4 Partitionen ab. Die ID-Bereiche sehen dann wie folgt aus: [1–20], [21–40], [41–60] und [61–80].

Bewährte Methoden zum Laden von Daten mit Partitionierungsoption:

  • Wählen Sie eine aussagekräftige Spalte als Partitionsspalte (wie Primärschlüssel oder eindeutiger Schlüssel), um Datenabweichungen zu vermeiden.
  • Wenn die Tabelle eine integrierte Partition aufweist, verwenden Sie die Partitionsoption „Physikalische Partitionen der Tabelle“, um eine bessere Leistung zu erzielen.

Tabellenzusammenfassung

Die folgende Tabelle enthält weitere Informationen zur Kopieraktivität in Azure Database for PostgreSQL:

Quellinformationen

Name Beschreibung Wert Erforderlich JSON-Skripteigenschaft
Datenspeichertyp Ihr Datenspeichertyp Extern Ja /
Verbindung Ihre Verbindung mit dem Quelldatenspeicher < Ihre Azure Database for PostgreSQL-Verbindung > Ja Verbindung
Verbindungstyp Ihr Quellverbindungstyp. Azure-Datenbank für PostgreSQL Ja /
Verwendungsabfrage Die Methode zum Lesen von Daten. Wenden Sie Tabelle an, um Daten aus der angegebenen Tabelle zu lesen, oder wenden Sie Abfrage an, um Daten mithilfe von Abfragen zu lesen. Tabelle
Abfrage
Ja • typeProperties (unter typeProperties ->source)
  – Schema
  – Tabelle
• Abfrage
Partitionsnamen Die Liste der physischen Partitionen, die kopiert werden müssen. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfTabularPartitionName in die WHERE-Klausel. < Ihre Partitionsnamen > Nein partitionNames
Partitionsspaltenname Der Name der Quellspalte als Typ „integer“ oder „date/datetime“ (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone oder time without time zone), der von der Bereichspartitionierung für das parallele Kopieren verwendet wird. Ohne Angabe wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet. < Namen Ihrer Partitionsspalten > Nein partitionColumnName
Partitionsobergrenze Der Höchstwert der Partitionsspalte zum Herauskopieren von Daten. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionUpbound in die WHERE-Klausel. < Ihre Partitionsobergrenze > Nein partitionUpperBound
Partitionsuntergrenze Der Mindestwert der Partitionsspalte zum Herauskopieren von Daten. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionLowbound in die WHERE-Klausel. < Ihre Partitionsuntergrenze > Nein partitionLowerBound
Zusätzliche Spalten Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt. • Name
• Wert
Nein additionalColumns:
• Name
• Wert

Zielinformationen

Name Beschreibung Wert Erforderlich JSON-Skripteigenschaft
Datenspeichertyp Ihr Datenspeichertyp Extern Ja /
Verbindung Ihre Verbindung mit dem Zieldatenspeicher. < Ihre Azure Database for PostgreSQL-Verbindung > Ja Verbindung
Verbindungstyp Ihr Zielverbindungstyp. Azure-Datenbank für PostgreSQL Ja /
Tabelle Ihre Zieldatentabelle zum Schreiben von Daten. < Name Ihrer Zieltabelle > Ja typeProperties (unter typeProperties ->sink):
  – Schema
  – Tabelle
Schreibmethode Die Methode zum Schreiben von Daten in Azure Database for PostgreSQL. Kopierbefehl (Standardeinstellung)
Masseneinfügen
Nein writeMethod:
• CopyCommand
• BulkInsert
Skript vor Kopiervorgang Eine SQL-Abfrage für die Kopieraktivität, die bei jeder Ausführung ausgeführt wird, bevor Daten in Azure Database for PostgreSQL geschrieben werden. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen. < Ihr Kopiervorbereitungsskript > Nein preCopyScript
Zeitlimit für Batchschreibvorgang Wartezeit für den Abschluss der Batcheinfügung, bis das Timeout wirksam wird. Zeitraum
(der Standardwert ist 00:30:00 – 30 Minuten)
Nein writeBatchTimeout
Schreibbatchgröße Die Anzahl von Zeilen, die pro Batch in Azure Database for PostgreSQL geladen werden. integer
(Standardwert: 1.000.000)
Nein writeBatchSize