Azure Database for PostgreSQL configureren in een kopieeractiviteit
In dit artikel wordt beschreven hoe u de kopieeractiviteit in de gegevenspijplijn gebruikt om gegevens van en naar Azure Database for PostgreSQL te kopiëren.
Ondersteunde configuratie
Voor de configuratie van elk tabblad onder kopieeractiviteit gaat u respectievelijk naar de volgende secties.
Algemeen
Raadpleeg de Algemene-instellingen richtlijnen voor het configureren van het tabblad Algemeen instellingen.
Bron
Ga naar tabblad Bron om de bron van de kopieeractiviteit te configureren. Zie de volgende inhoud voor de gedetailleerde configuratie.
De volgende drie eigenschappen zijn vereist:
- Connection: Selecteer een Azure Database for PostgreSQL-verbinding in de lijst met verbindingen. Als er geen verbinding bestaat, maakt u een nieuwe Azure Database for PostgreSQL-verbinding.
- verbindingstype: selecteer Azure Database for PostgreSQL-.
-
Querygebruiken: selecteer Tabel om gegevens uit de opgegeven tabel te lezen of selecteer Query om gegevens te lezen met behulp van query's.
Als u Tabelselecteert:
Tabel: selecteer de tabel in de vervolgkeuzelijst of selecteer Handmatig invoeren om deze handmatig in te voeren om gegevens te lezen.
Als u Queryselecteert:
Query: geef de aangepaste SQL-query op om gegevens te lezen. Bijvoorbeeld:
SELECT * FROM mytable
ofSELECT * FROM "MyTable"
.Notitie
In PostgreSQL wordt de naam van de entiteit als niet-hoofdlettergevoelig behandeld als deze niet wordt geciteerd.
Onder Geavanceerdekunt u de volgende velden opgeven:
Querytime-out (minuten): Geef de wachttijd op voordat de poging om een opdracht uit te voeren wordt beëindigd en er een fout wordt gegenereerd; de standaardwaarde is 120 minuten. Als de parameter voor deze eigenschap is ingesteld, zijn toegestane waarden tijdspanne, zoals '02:00:00' (120 minuten). Zie CommandTimeoutvoor meer informatie.
partitieoptie: hiermee geeft u de opties voor gegevenspartitionering op die worden gebruikt voor het laden van gegevens uit Azure Database for PostgreSQL. Wanneer een partitieoptie is ingeschakeld (dus niet Geen), wordt de mate van parallelle uitvoering om gegevens uit een Azure Database for PostgreSQL gelijktijdig te laden, beheerd door de Mate van kopieerparallelisme op het tabblad Instellingen voor kopieeractiviteit.
Als u Geenselecteert, kiest u ervoor om partitie niet te gebruiken.
Als u fysieke partities van tabelselecteert:
Partitienamen: geef de lijst met fysieke partities op die moeten worden gekopieerd.
Als u een query gebruikt om de brongegevens op te halen, koppelt u
?AdfTabularPartitionName
in de WHERE-component. Zie de sectie Parallel kopiëren uit Azure Database for PostgreSQL voor een voorbeeld.
Als u dynamisch bereik selecteert:
kolomnaam partitie: geef de naam op van de bronkolom in geheel getal of datum/datum/tijd-type (
int
,smallint
,bigint
,date
,timestamp without time zone
,timestamp with time zone
oftime without time zone
) die worden gebruikt door bereikpartitionering voor parallelle kopie. Als deze niet is opgegeven, wordt de primaire sleutel van de tabel automatisch gedetecteerd en gebruikt als partitiekolom.Als u een query gebruikt om de brongegevens op te halen, koppelt u
?AdfRangePartitionColumnName
in de WHERE-component. Zie de sectie Parallel kopiëren uit Azure Database for PostgreSQL voor een voorbeeld.Partitie bovengrens: geef de maximumwaarde van de partitiekolom op om gegevens te kopiëren.
Als u een query gebruikt om de brongegevens op te halen, koppelt u
?AdfRangePartitionUpbound
in de WHERE-component. Zie de sectie Parallel kopiëren uit Azure Database for PostgreSQL voor een voorbeeld. .Partitie ondergrens: geef de minimumwaarde van de partitiekolom op om gegevens te kopiëren.
Als u een query gebruikt om de brongegevens op te halen, koppelt u
?AdfRangePartitionLowbound
in de WHERE-component. Zie de sectie Parallel kopiëren uit Azure Database for PostgreSQL voor een voorbeeld.
Aanvullende kolommen: voeg extra gegevenskolommen toe om het relatieve pad of de statische waarde van de bronbestanden op te slaan. Voor de laatste wordt expressie ondersteund.
Bestemming
Ga naar tabblad Doel om de bestemming van uw kopieeractiviteit te configureren. Zie de volgende inhoud voor de gedetailleerde configuratie.
De volgende drie eigenschappen zijn vereist:
- Connection: Selecteer een Azure Database for PostgreSQL-verbinding in de lijst met verbindingen. Als er geen verbinding bestaat, maakt u een nieuwe Azure Database for PostgreSQL-verbinding.
- verbindingstype: selecteer Azure Database for PostgreSQL-.
- Tabel: selecteer de tabel in de vervolgkeuzelijst of selecteer Voer handmatig in om deze in te voeren om gegevens te schrijven.
Onder Geavanceerdekunt u de volgende velden opgeven:
Write-methode: Selecteer de methode die wordt gebruikt om gegevens naar Azure Database for PostgreSQL te schrijven. Selecteer uit opdracht Kopiëren (standaard, met betere prestaties) en Bulk-insertie.
script vooraf kopiëren: geef in elke uitvoering een SQL-query op voor de kopieeractiviteit die moet worden uitgevoerd voordat u gegevens naar Azure Database for PostgreSQL schrijft. U kunt deze eigenschap gebruiken om de vooraf geladen gegevens op te schonen.
Time-out voor schrijfbatch: Geef de wachttijd op voor de batchinvoegbewerking om te voltooien voordat er een time-out optreedt. De toegestane waarde is tijdsduur. De standaardwaarde is 00:30:00 (30 minuten).
Batchgrootte instellen: Specificeer het aantal rijen dat per batch in Azure Database for PostgreSQL wordt geladen. Toegestane waarde is een geheel getal dat het aantal rijen aangeeft. De standaardwaarde is 1.000.000.
Kartering
Zie de configuratie van Mapping tabblad in configureer uw mappings onder tabblad Mapping.
Instellingen
Ga voor instellingen tabbladconfiguratie naar Andere instellingen configureren op het tabblad Instellingen.
Parallel kopiëren vanuit Azure Database for PostgreSQL
De Azure Database for PostgreSQL-connector biedt bij het kopiëren van gegevens de mogelijkheid voor ingebouwde gegevenspartitionering om gegevens parallel te kopiëren. U vindt opties voor gegevenspartitionering op het tabblad Bron van de kopieeractiviteit.
Wanneer u een gepartitioneerde kopie inschakelt, voert de kopieeractiviteit parallelle query's uit op uw Azure Database for PostgreSQL-bron om gegevens per partitie te laden. De parallelle graad wordt bepaald door de mate van kopieerparallelisme op het tabblad Instellingen voor kopieeractiviteit. Als u bijvoorbeeld mate van parallelle kopieerbewerking instelt op vier, genereert en voert de service gelijktijdig vier query's uit op basis van de opgegeven partitieoptie en -instellingen. Elke query haalt een deel van de gegevens op uit uw Azure Database for PostgreSQL.
U wordt aangeraden parallelle kopie met gegevenspartitionering in te schakelen, met name wanneer u grote hoeveelheden gegevens uit uw Azure Database for PostgreSQL laadt. Hier volgen voorgestelde configuraties voor verschillende scenario's. Wanneer u gegevens kopieert naar een bestandsgegevensarchief, is het raadzaam om naar een map te schrijven als meerdere bestanden (alleen mapnaam opgeven), in welk geval de prestaties beter zijn dan schrijven naar één bestand.
Scenario | Voorgestelde instellingen |
---|---|
Volledige belasting van grote tabellen, met fysieke partities. |
partitieoptie: fysieke partities van de tabel. Tijdens de uitvoering detecteert de service automatisch de fysieke partities en kopieert de gegevens per partitie. |
Volledige lading van een grote tabel, zonder fysieke partities, maar met een integer kolom voor gegevenspartitionering. |
Partitieopties: Dynamisch bereik. Partitionkolom: Geef de kolom op die wordt gebruikt om gegevens te partitioneren. Als dit niet is opgegeven, wordt de primaire sleutelkolom gebruikt. |
Laad een grote hoeveelheid gegevens met behulp van een aangepaste query, met fysieke partities. |
partitieoptie: fysieke partities van de tabel. Query: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause> .Partitienaam: geef de partitienaam(en) op waaruit gegevens moeten worden gekopieerd. Als dit niet is opgegeven, detecteert de service automatisch de fysieke partities in de tabel die u hebt opgegeven in de PostgreSQL-gegevensset. Tijdens de uitvoering vervangt de service ?AdfTabularPartitionName door de werkelijke partitienaam en verzendt deze naar Azure Database for PostgreSQL. |
Laad een grote hoeveelheid gegevens met behulp van een aangepaste query, zonder fysieke partities, terwijl je een integer kolom voor gegevenspartitionering gebruikt. |
Partitieopties: Dynamisch bereik. Query: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause> .Partitie kolom: Geef de kolom op die wordt gebruikt om gegevens te partitioneren. U kunt partitioneren op basis van de kolom met een geheel getal of een datum/datum/tijd-gegevenstype. Bovengrens partitioneren en Partitie ondergrens: Geef op of u wilt filteren op partitiekolom om alleen gegevens op te halen tussen het onderste en bovenste bereik. Tijdens de uitvoering vervangt de service ?AdfRangePartitionColumnName , ?AdfRangePartitionUpbound en ?AdfRangePartitionLowbound door de werkelijke kolomnaam en waardebereiken voor elke partitie en verzendt deze naar Azure Database for PostgreSQL. Als de partitiekolom 'ID' bijvoorbeeld is ingesteld met de ondergrens 1 en de bovengrens als 80, waarbij parallelle kopie is ingesteld als 4, haalt de service gegevens op met 4 partities. Hun id's liggen tussen [1.20], [21, 40], [41, 60] en [61, 80], respectievelijk. |
Aanbevolen procedures voor het laden van gegevens met partitieoptie:
- Kies een onderscheidende kolom als partitiekolom (zoals primaire sleutel of unieke sleutel) om scheeftrekken van gegevens te voorkomen.
- Als de tabel een ingebouwde partitie heeft, gebruikt u de partitieoptie Fysieke partities van de tabel om betere prestaties te krijgen.
Tabelsamenvatting
De volgende tabel bevat meer informatie over de kopieeractiviteit in Azure Database for PostgreSQL.
Broninformatie
Naam | Beschrijving | Waarde | Vereist | JSON-scripteigenschap |
---|---|---|---|---|
verbinding | Uw verbinding met het brongegevensarchief. | < uw Azure-database voor PostgreSQL-verbinding > | Ja | verbinding |
verbindingstype | Uw bronverbindingstype. | Azure Database for PostgreSQL | Ja | / |
Query gebruiken | De manier om gegevens te lezen. Pas tabel toe om gegevens uit de opgegeven tabel te lezen of pas Query toe om gegevens te lezen met behulp van query's. | • Tabel • Query |
Ja | • typeProperties (onder typeProperties ->source )-schema -tafel •vraag |
timeout van query (minuten) | De wachttijd voordat de poging om een opdracht uit te voeren wordt beëindigd en een fout genereert, is de standaardwaarde 120 minuten. Als de parameter voor deze eigenschap is ingesteld, zijn toegestane waarden tijdspanne, zoals '02:00:00' (120 minuten). Zie CommandTimeoutvoor meer informatie. | tijdspanne | Nee | queryTimeout |
partitienamen | De lijst met fysieke partities die moeten worden gekopieerd. Als u een query gebruikt om de brongegevens op te halen, koppelt u ?AdfTabularPartitionName in de WHERE-component. |
< uw partitienamen > | Nee | partitienamen |
Partitie kolomnaam | De naam van de bronkolom in geheel getal of datum/datum/tijd-type (int , smallint , bigint , date , timestamp without time zone , timestamp with time zone of time without time zone ) die wordt gebruikt door bereikpartitionering bij parallelle kopie. Als deze niet is opgegeven, wordt de primaire sleutel van de tabel automatisch gedetecteerd en gebruikt als partitiekolom. |
< uw partitiekolomnamen > | Nee | partitionColumnName |
Bovengrens voor partitie | De maximale waarde van de partitiekolom om gegevens te kopiëren. Als u een query gebruikt om de brongegevens op te halen, koppelt u ?AdfRangePartitionUpbound in de WHERE-component. |
< jouw bovengrens van de partitie > | Nee | partitionUpperBound |
Partitie ondergrens | De minimale waarde van de partitiekolom om gegevens te kopiëren. Als u een query gebruikt om de brongegevens op te halen, koppelt u ?AdfRangePartitionLowbound in de WHERE-component. |
< je partitie-ondergrens > | Nee | partitieOndergrens |
Aanvullende kolommen | Voeg extra gegevenskolommen toe om het relatieve pad of de statische waarde van bronbestanden op te slaan. Expressie wordt ondersteund voor de laatste. | •Naam •Waarde |
Nee | extraKolommen: •naam • waarde |
Doelgegevens
Naam | Beschrijving | Waarde | Vereist | JSON-scripteigenschap |
---|---|---|---|---|
verbinding | Uw verbinding met de bestemmingsgegevensopslag. | < uw Azure Database voor PostgreSQL-verbinding > | Ja | verbinding |
verbindingstype | Uw doelverbindingstype. | Azure Database for PostgreSQL | Ja | / |
Tabel | De doelgegevenstabel voor het schrijven van gegevens. | < naam van jouw doeltabel > | Ja | typeEigenschappen (onder typeProperties ->sink ):-schema -tafel |
Write-methode | De methode die wordt gebruikt voor het schrijven van gegevens naar Azure Database for PostgreSQL. | • opdracht kopiëren (standaard) • bulksgewijs invoegen |
Nee | schrijfMethode: • Kopieeropdracht • BulkInsert |
script vooraf kopiëren | Een SQL-query voor de kopieeractiviteit die moet worden uitgevoerd voordat u in elke uitvoering gegevens naar Azure Database for PostgreSQL schrijft. U kunt deze eigenschap gebruiken om de vooraf geladen gegevens op te schonen. | < uw script vooraf kopiëren > | Nee | preCopyScript |
time-out voor schrijfbatch | De wachttijd voor de voltooiing van de batchinvoegbewerking voordat een time-out optreedt. | tijdspanne (de standaardwaarde is 00:30:00 - 30 minuten) |
Nee | writeBatchTimeout |
Batchgrootte instellen | Het aantal rijen dat per batch in Azure Database for PostgreSQL is geladen. | integer (de standaardwaarde is 1.000.000) |
Nee | schrijfbatchgrootte |
Verwante inhoud
- Overzicht van Azure Database voor PostgreSQL-koppeling