Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in einer Pipeline zum Kopieren von Daten aus und in die Azure-Datenbank für PostgreSQL verwenden.
Unterstützte Konfiguration
Die Konfiguration der einzelnen Registerkarten unter der Copy-Aktivität finden Sie in den folgenden Abschnitten.
Allgemein
Informationen zum Konfigurieren der Registerkarte Allgemein finden Sie unter Allgemeine Einstellungen-Anleitung.
Quelle
Wechseln Sie zur Registerkarte Quelle, um die Quelle der Kopieraktivität zu konfigurieren. Die detaillierte Konfiguration finden Sie in den folgenden Inhalten.
Die folgenden drei Eigenschaften sind erforderlich:
Verbindung: Wählen Sie eine Azure-Datenbank für Die PostgreSQL-Verbindung aus der Verbindungsliste aus. Wenn keine Verbindung vorhanden ist, erstellen Sie eine neue Azure-Datenbank für Die PostgreSQL-Verbindung.
Verwenden Sie Die Abfrage: 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 aus der Dropdownliste aus oder wählen Sie Manuell eingeben, um Daten einzugeben.
Wenn Sie Abfrage auswählen:
Abfrage: Geben Sie die benutzerdefinierte SQL-Abfrage zum Lesen der Daten an. Beispiel:
SELECT * FROM mytableoderSELECT * FROM "MyTable".Hinweis
In PostgreSQL wird der Entitätsname bei nicht zitierter Schreibweise als Groß-/Kleinschreibung behandelt.
Version: Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel.
Unter Erweitert können Sie die folgenden Felder angeben:
Abfragetimeout (Minuten): Geben Sie die Wartezeit an, bevor Sie den Versuch beenden, einen Befehl auszuführen und einen Fehler zu generieren, der Standardwert ist 120 Minuten. Wenn der Parameter für diese Eigenschaft festgelegt ist, sind zulässige Werte Zeitbereich, z. B. "02:00:00" (120 Minuten). Weitere Informationen finden Sie unter CommandTimeout.
Partitionsoption: Gibt die Datenpartitionierungsoptionen an, die zum Laden von Daten aus Azure-Datenbank für PostgreSQL verwendet werden. Wenn eine Partitionsoption aktiviert ist (d. h. keine), wird der Grad der Parallelität zum gleichzeitigen Laden von Daten aus einer Azure-Datenbank für PostgreSQL durch den Grad der Kopierparallelität auf der Registerkarte "Kopieraktivitätseinstellungen" gesteuert.
Wenn Sie "Keine" auswählen, wählen Sie keine Partition aus.
Wenn Sie physische Partitionen der Tabelle auswählen:
Partitionsnamen: Geben Sie die Liste der physischen Partitionen an, die kopiert werden müssen.
Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?AdfTabularPartitionNamein die WHERE-Klausel. Für ein Beispiel siehe Abschnitt "Parallel copy from Azure Database for PostgreSQL".
Wenn Sie dynamischen Bereich auswählen:
Partitionsspaltenname: Geben Sie den Namen der Quellspalte vom Typ Ganzzahl oder Datum/Datum und Uhrzeit (
int,smallint,bigint,date,timestamp without time zone,timestamp with time zoneodertime without time zone) an, die von der Bereichspartitionierung für parallele Kopien verwendet wird. Wenn nicht angegeben, wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet.Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?AdfRangePartitionColumnNamein die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL.Partition obere Grenze: Geben Sie den Maximalwert der Partitionsspalte an, um Daten zu kopieren.
Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?AdfRangePartitionUpboundin die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL. .Partition untere Grenze: Geben Sie den Minimalwert der Partitionsspalte an, um Daten zu kopieren.
Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie
?AdfRangePartitionLowboundin die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL.
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.
Bestimmungsort
Wechseln Sie zur Registerkarte Ziel, um das Ziel der Kopieraktivität zu konfigurieren. Die detaillierte Konfiguration finden Sie in den folgenden Inhalten.
Die folgenden drei Eigenschaften sind erforderlich:
Verbindung: Wählen Sie eine Azure-Datenbank für Die PostgreSQL-Verbindung aus der Verbindungsliste aus. Wenn keine Verbindung vorhanden ist, erstellen Sie eine neue Azure-Datenbank für Die PostgreSQL-Verbindung.
Tabelle: Wählen Sie die Tabelle aus der Dropdownliste aus oder wählen Sie manuell eingeben, um Daten einzugeben.
Version: Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel.
Unter Erweitert können Sie die folgenden Felder angeben:
Write-Methode: Wählen Sie die Methode aus, die zum Schreiben von Daten in Azure-Datenbank für PostgreSQL verwendet wird. Wählen Sie aus Kopierbefehl (Standardeinstellung, die leistungsstärker ist), Masseneinfügung und Upsert (für Version 2.0).
-
Upsert: Wählen Sie diese Option aus, wenn Ihre Quelldaten sowohl Einfügungen als auch Aktualisierungen enthalten.
-
Schlüsselspalten: Wählen Sie aus, welche Spalte verwendet wird, um zu bestimmen, ob eine Zeile aus der Quelle einer Zeile vom Ziel entspricht.
-
Schlüsselspalten: Wählen Sie aus, welche Spalte verwendet wird, um zu bestimmen, ob eine Zeile aus der Quelle einer Zeile vom Ziel entspricht.
-
Upsert: Wählen Sie diese Option aus, wenn Ihre Quelldaten sowohl Einfügungen als auch Aktualisierungen enthalten.
Skript vorab kopieren: Geben Sie eine SQL-Abfrage für die auszuführende Kopieraktivität an, bevor Sie Daten in Azure-Datenbank für PostgreSQL in jeder Ausführung schreiben. Sie können diese Eigenschaft verwenden, um die vorgeladenen 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 ist 00:30:00 (30 Minuten).
Batchgröße schreiben: Geben Sie die Anzahl der zeilen an, die pro Batch in azure Database für PostgreSQL geladen wurden. Als Wert ist ein Integer zulässig, der die Anzahl der Zeilen angibt. Der Standardwert ist 1.000.000.
Kartierung
Informationen zur Konfiguration der Registerkarte Zuordnung finden Sie unter Konfigurieren der Zuordnungen auf der Registerkarte „Zuordnung“.
Einstellungen
Gehen 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. Sie finden die Optionen für die Datenpartitionierung 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 parallele Grad wird durch den Grad der Kopierparallelität auf der Registerkarte "Kopieraktivitätseinstellungen" gesteuert. Wenn Sie beispielsweise den Grad der Kopierparallelität auf vier festlegen, generiert der Dienst gleichzeitig vier Abfragen basierend auf Ihrer angegebenen Partitionsoption und -einstellungen, und jede Abfrage ruft einen Teil der Daten aus Ihrer Azure-Datenbank für 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 Folgenden werden Konfigurationen für verschiedene Szenarien vorgeschlagen. 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 an, die zum Partitionieren von Daten verwendet wird. 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 an, die zum Partitionieren von Daten verwendet wird. Sie können eine Partition für die Spalte mit einem Integer- oder date/datetime-Datentyp erstellen. Partition Obergrenze und Partition Untergrenze: Geben Sie an, ob Sie über die Partitionsspalte filtern möchten, um Daten nur zwischen dem unteren und oberen Bereich abzurufen. 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. Ihre IDs liegen jeweils zwischen [1–20], [21–40], [41–60] und [61–80]. |
Bewährte Methoden zum Laden von Daten unter Verwendung der Partitionsoption:
- Wählen Sie eine unverwechselbare Spalte als Partitionsspalte (z. B. Primärschlüssel oder eindeutiger Schlüssel) aus, um Datenverzerrung 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 der Azure-Datenbank für PostgreSQL.
Quellinformationen
| Name | BESCHREIBUNG | Wert | Erforderlich | JSON-Skripteigenschaft |
|---|---|---|---|---|
| Verbindung | Ihre Verbindung zum Quelldatenspeicher. | < Ihre Azure-Datenbank für Die PostgreSQL-Verbindung > | Ja | Verbindung |
| Die Abfrage verwenden | Die Möglichkeit zum Lesen von Daten. Wenden Sie Tabelle an, um Daten aus der angegebenen Tabelle zu lesen, oder wenden Sie Abfrage zum Lesen von Daten mithilfe von Abfragen an. | • Tabelle • Abfrage |
Ja | • typeProperties (unter typeProperties ->source)– Schema – Tabelle • Abfrage |
| Version | Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel. | • 2.0 • 1.0 |
Ja | Version: • 2.0 • 1.0 |
| Abfragetimeout (Minuten) | Die Wartezeit vor dem Beenden des Versuchs, einen Befehl auszuführen und einen Fehler zu generieren, beträgt standardmäßig 120 Minuten. Wenn der Parameter für diese Eigenschaft festgelegt ist, sind zulässige Werte Zeitbereich, z. B. "02:00:00" (120 Minuten). Weitere Informationen finden Sie unter CommandTimeout. | Zeitbereich | Nein | queryTimeout |
| 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 | Partitionsnamen |
| Partitionsspaltenname | Der Name der Quellspalte im ganzzahligen oder Datums-/Datetime-Typ (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone oder time without time zone), die von der Bereichspartitionierung für parallele Kopien verwendet wird. Wenn nicht angegeben, wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet. |
< Namen Ihrer Partitionsspalten > | Nein | Partitionierungsspaltenname |
| Partitionsobergrenze | Der maximal mögliche Wert der Partitionsspalte, um Daten herauszukopieren. Wenn Sie eine Abfrage zum Abrufen der Quelldaten verwenden, fügen Sie das Platzhalter-Element ?AdfRangePartitionUpbound in die WHERE-Klausel ein. |
< Ihre Partitionsobergrenze > | Nein | Partitionsobergrenze |
| Partitionsuntergrenze | Der Mindestwert der Partitionsspalte, um Daten herauszukopieren. Wenn Sie eine Abfrage verwenden, um die Quelldaten abzufragen, dann fügen Sie den Hook ?AdfRangePartitionLowbound in die WHERE-Klausel ein. |
< Ihre Partitionsuntergrenze > | Nein | Partitionsuntergrenze |
| 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 | zusätzlicheSpalten: • Name • Wert |
Zielinformationen
| Name | BESCHREIBUNG | Wert | Erforderlich | JSON-Skripteigenschaft |
|---|---|---|---|---|
| Verbindung | Ihre Verbindung zum Zieldatenspeicher. | < Ihre Azure-Datenbank für Die PostgreSQL-Verbindung > | Ja | Verbindung |
| Tabelle | Die Zieldatentabelle zum Schreiben von Daten. | < Name der Zieltabelle > | Ja | typeProperties (unter typeProperties ->sink):– Schema – Tabelle |
| Version | Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel. | • 2.0 • 1.0 |
Ja | Version: • 2.0 • 1.0 |
| Write-Methode | Die Methode zum Schreiben von Daten in Azure Database for PostgreSQL. | • Befehl "Kopieren" (Standard) • Masseneinfügen • Upsert (für Version 2.0) |
Nein | writeMethod: • Kopierbefehl • Masseneinfügung • Upsert (Aktualisieren oder Einfügen) |
| Schlüsselspalten | Wählen Sie aus, welche Spalte verwendet wird, um zu bestimmen, ob eine Zeile aus der Quelle mit einer Zeile vom Ziel übereinstimmt. | <Ihre Schlüsselspalte> | Nein | Schlüssel |
| Skript vor Kopiervorgang | Eine SQL-Abfrage für die auszuführende Kopieraktivität, bevor Sie Daten in Azure Database for PostgreSQL in jeder Ausführung schreiben. Sie können diese Eigenschaft verwenden, um die vorgeladenen Daten zu bereinigen. | < Ihr Skript vor dem Kopieren > | Nein | preCopyScript |
| Zeitlimit für Batchschreibvorgang | Wartezeit für den Abschluss der Batcheinfügung, bis das Timeout wirksam wird. | Zeitbereich (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 (Der Standardwert ist 1.000.000) |
Nein | writeBatchSize |