Konfigurer Azure Database til PostgreSQL i en kopiaktivitet
I denne artikel beskrives det, hvordan du bruger kopiaktiviteten i Datapipeline til at kopiere data fra og til Azure Database for PostgreSQL.
Understøttet konfiguration
Hvis du vil konfigurere hver fane under kopiaktivitet, skal du gå til henholdsvis følgende afsnit.
Generel
Se
Kilde
Gå til fanen Kilde for at konfigurere din kopiaktivitetskilde. Se følgende indhold for at få den detaljerede konfiguration.
Følgende tre egenskaber er påkrævede:
- Forbindelse: Vælg en Azure Database til PostgreSQL-forbindelse på forbindelseslisten. Hvis der ikke findes nogen forbindelse, skal du oprette en ny Azure Database for PostgreSQL-forbindelse.
- forbindelsestype: Vælg Azure Database til PostgreSQL-.
-
Brug forespørgsels: Vælg tabel for at læse data fra den angivne tabel, eller vælg Query- for at læse data ved hjælp af forespørgsler.
Hvis du vælger tabel:
Tabel: Vælg tabellen på rullelisten, eller vælg Angiv manuelt for manuelt at angive den for at læse data.
Hvis du vælger Query:
Forespørgsel: Angiv den brugerdefinerede SQL-forespørgsel for at læse data. For eksempel:
SELECT * FROM mytable
ellerSELECT * FROM "MyTable"
.Seddel
I PostgreSQL behandles enhedsnavnet som ikke-skelnende mellem store og små bogstaver, hvis det ikke citeres.
Under Advancedkan du angive følgende felter:
timeout for forespørgsel (minutter): Angiv ventetiden, før forsøget på at udføre en kommando afsluttes, og der genereres en fejl. Standarden er 120 minutter. Hvis parameteren er angivet for denne egenskab, er de tilladte værdier et tidsrum, f.eks. "02:00:00" (120 minutter). Du kan få flere oplysninger under CommandTimeout.
partitionsindstilling: Angiver de indstillinger for datapartitionering, der bruges til at indlæse data fra Azure Database for PostgreSQL. Når en partitionsindstilling er aktiveret (dvs. ikke Ingen), styres graden af parallelitet med samtidig indlæsning af data fra en Azure Database for PostgreSQL af den grad af kopi parallelitet, under fanen indstillinger for kopiaktivitet.
Hvis du vælger Ingen, vælger du ikke at bruge partitionen.
Hvis du vælger fysiske partitioner i tabel:
Partitionsnavne: Angiv listen over fysiske partitioner, der skal kopieres.
Hvis du bruger en forespørgsel til at hente kildedataene, skal du koble
?AdfTabularPartitionName
i WHERE-delsætningen. Du kan f.eks. se afsnittet Parallel kopi fra Azure Database for PostgreSQL.
Hvis du vælger Dynamisk område:
Kolonnenavn på partition: Angiv navnet på kildekolonnen i typen heltal eller dato/dato/klokkeslæt (
int
,smallint
,bigint
,date
,timestamp without time zone
,timestamp with time zone
ellertime without time zone
), der skal bruges til områdepartitionering til parallel kopi. Hvis den ikke er angivet, registreres tabellens primære nøgle automatisk, og den bruges som partitionskolonne.Hvis du bruger en forespørgsel til at hente kildedataene, skal du koble
?AdfRangePartitionColumnName
i WHERE-delsætningen. Du kan f.eks. se afsnittet parallel kopi fra Azure Database for PostgreSQL.Partitions øvre grænse: Angiv den maksimale værdi for den partitionskolonne, der skal kopieres data ud.
Hvis du bruger en forespørgsel til at hente kildedataene, skal du koble
?AdfRangePartitionUpbound
i WHERE-delsætningen. Du kan f.eks. se afsnittet parallel kopi fra Azure Database for PostgreSQL. .Partitions nedre grænse: Angiv minimumværdien af den partitionskolonne, der skal kopieres data ud.
Hvis du bruger en forespørgsel til at hente kildedataene, skal du koble
?AdfRangePartitionLowbound
i WHERE-delsætningen. Du kan f.eks. se afsnittet parallel kopi fra Azure Database for PostgreSQL.
Yderligere kolonner: Tilføj flere datakolonner for at gemme kildefilernes relative sti eller statiske værdi. Udtrykket understøttes for sidstnævnte.
Destination
Gå til fanen Destination for at konfigurere din kopiaktivitetsdestination. Se følgende indhold for at få den detaljerede konfiguration.
Følgende tre egenskaber er påkrævede:
- Forbindelse: Vælg en Azure Database til PostgreSQL-forbindelse på forbindelseslisten. Hvis der ikke findes nogen forbindelse, skal du oprette en ny Azure Database for PostgreSQL-forbindelse.
- forbindelsestype: Vælg Azure Database til PostgreSQL-.
- Tabel: Vælg tabellen på rullelisten, eller vælg Angiv manuelt for at skrive data.
Under Advancedkan du angive følgende felter:
metoden Write: Vælg den metode, der bruges til at skrive data til Azure Database for PostgreSQL. Vælg kommandoen Kopiér (standard, hvilket er mere effektiv), og Masseindsætning.
script: Angiv en SQL-forespørgsel for den kopiaktivitet, der skal udføres, før du skriver data til Azure Database for PostgreSQL i hver kørsel. Du kan bruge denne egenskab til at rydde op i forudindlæste data.
Skriv batchtimeout: Angiv ventetiden for batchindsætningshandlingen, før der opstår timeout. Den tilladte værdi er et tidsrum. Standardværdien er 00:30:00 (30 minutter).
Skriv batchstørrelse: Angiv antallet af rækker, der indlæses i Azure Database for PostgreSQL pr. batch. Tilladt værdi er et heltal, der repræsenterer antallet af rækker. Standardværdien er 1.000.000.
Kortlægning
Du kan få Konfiguration af tilknytning fane i Konfigurer dine tilknytninger under fanen Tilknytning.
Indstillinger
For Indstillinger fanekonfiguration skal du gå til Konfigurer dine andre indstillinger under fanen Indstillinger.
Parallel kopi fra Azure Database til PostgreSQL
Azure Database for PostgreSQL-connectoren i kopieringsaktivitet giver indbygget datapartitionering for at kopiere data parallelt. Du kan finde indstillinger for datapartitionering under fanen Kilde i kopiaktiviteten.
Når du aktiverer partitioneret kopi, kører kopieringsaktivitet parallelle forespørgsler mod din Azure Database for PostgreSQL-kilde for at indlæse data efter partitioner. Den parallelle grad styres af den grad af kopi parallelitet under fanen indstillinger for kopieringsaktivitet. Hvis du f.eks. angiver Grad af kopi parallelitet til fire, genererer og kører tjenesten samtidig fire forespørgsler baseret på din angivne partitionsindstilling og dine angivne indstillinger, og hver forespørgsel henter en del af dataene fra din Azure Database til PostgreSQL.
Du foreslås at aktivere parallel kopiering med datapartitionering, især når du indlæser store mængder data fra din Azure Database til PostgreSQL. Følgende er foreslåede konfigurationer til forskellige scenarier. Når du kopierer data til et filbaseret datalager, anbefales det at skrive til en mappe som flere filer (angiv kun mappenavn), i hvilket tilfælde ydeevnen er bedre end at skrive til en enkelt fil.
Scenario | Foreslåede indstillinger |
---|---|
Fuld belastning fra store tabeller med fysiske partitioner. |
partitionsindstilling: Fysiske partitioner i tabellen. Under udførelsen registrerer tjenesten automatisk de fysiske partitioner og kopierer data fra partitioner. |
Fuld indlæsning fra store tabeller uden fysiske partitioner, mens der er en heltalskolonne til datapartitionering. |
Partitionsindstillinger: Dynamisk område. partitionskolonne: Angiv den kolonne, der skal bruges til at partitionere data. Hvis den ikke er angivet, bruges kolonnen med den primære nøgle. |
Indlæs en stor mængde data ved hjælp af en brugerdefineret forespørgsel med fysiske partitioner. |
partitionsindstilling: Fysiske partitioner i tabellen. Forespørgsel: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause> .Partitionsnavn: Angiv det eller de partitionsnavne, der skal kopieres data fra. Hvis den ikke er angivet, registrerer tjenesten automatisk de fysiske partitioner i den tabel, du angav i PostgreSQL-datasættet. Under udførelsen erstatter tjenesten ?AdfTabularPartitionName med det faktiske partitionsnavn og sender til Azure Database for PostgreSQL. |
Indlæs en stor mængde data ved hjælp af en brugerdefineret forespørgsel uden fysiske partitioner, mens der er en heltalskolonne til datapartitionering. |
Partitionsindstillinger: Dynamisk område. Forespørgsel: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause> .partitionskolonne: Angiv den kolonne, der skal bruges til at partitionere data. Du kan partitionere i kolonnen med datatypen heltal eller dato/dato/klokkeslæt. Partitions øvre grænse og Partitions nedre grænse: Angiv, om du vil filtrere efter partitionskolonnen for kun at hente data mellem det nederste og øverste område. Under udførelsen erstatter tjenesten ?AdfRangePartitionColumnName , ?AdfRangePartitionUpbound og ?AdfRangePartitionLowbound med det faktiske kolonnenavn og værdiintervaller for hver partition og sender til Azure Database for PostgreSQL. Hvis partitionskolonnen "ID" f.eks. er angivet med den nedre grænse som 1 og den øvre grænse som 80, hvor parallel kopi er angivet som 4, henter tjenesten data efter 4 partitioner. Id'erne er henholdsvis [1,20], [21, 40], [41, 60] og [61, 80]. |
Bedste fremgangsmåder til indlæsning af data med partitionsindstilling:
- Vælg en karakteristisk kolonne som partitionskolonne (f.eks. primær nøgle eller entydig nøgle) for at undgå dataforvrængelse.
- Hvis tabellen har en indbygget partition, skal du bruge partitionsindstillingen "Fysiske partitioner i tabellen" for at få en bedre ydeevne.
Tabeloversigt
Følgende tabel indeholder flere oplysninger om kopiaktiviteten i Azure Database for PostgreSQL.
Kildeoplysninger
Navn | Beskrivelse | Værdi | Kræves | JSON-scriptegenskab |
---|---|---|---|---|
forbindelse | Din forbindelse til kildedatalageret. | < din Azure Database for PostgreSQL-forbindelse > | Ja | forbindelse |
Forbindelsestype | Kildeforbindelsestypen. | Azure Database til PostgreSQL- | Ja | / |
Brug forespørgsels | Måden at læse data på. Anvend tabel til at læse data fra den angivne tabel, eller anvend Query- på at læse data ved hjælp af forespørgsler. | • • forespørgsel |
Ja | • typeEgenskaber (under typeProperties ->source )-skema -bord •forespørgsel |
timeout for forespørgsel (minutter) | Ventetiden før afslutning af forsøget på at udføre en kommando og generere en fejl er som standard 120 minutter. Hvis parameteren er angivet for denne egenskab, er de tilladte værdier et tidsrum, f.eks. "02:00:00" (120 minutter). Du kan få flere oplysninger under CommandTimeout. | timespan | Nej | queryTimeout |
Partitionsnavne | Listen over fysiske partitioner, der skal kopieres. Hvis du bruger en forespørgsel til at hente kildedataene, skal du koble ?AdfTabularPartitionName i WHERE-delsætningen. |
< partitionsnavnene > | Nej | partitionNames |
Kolonnenavn på partition | Navnet på kildekolonnen i typen heltal eller dato/dato/klokkeslæt (int , smallint , bigint , date , timestamp without time zone , timestamp with time zone eller time without time zone ), der bruges ved områdepartitionering til parallel kopiering. Hvis den ikke er angivet, registreres tabellens primære nøgle automatisk, og den bruges som partitionskolonne. |
< navnene på partitionskolonnen > | Nej | partitionColumnName |
Partitions øvre grænse | Den maksimale værdi for den partitionskolonne, der skal kopieres data ud. Hvis du bruger en forespørgsel til at hente kildedataene, skal du koble ?AdfRangePartitionUpbound i WHERE-delsætningen. |
< den øvre grænse for partitionen > | Nej | partitionUpperBound |
Partition med nedre grænse | Den mindste værdi for partitionskolonnen, der skal kopieres data ud. Hvis du bruger en forespørgsel til at hente kildedataene, skal du koble ?AdfRangePartitionLowbound i WHERE-delsætningen. |
< den nedre grænse for partitionen > | Nej | partitionLowerBound |
Yderligere kolonner | Tilføj yderligere datakolonner for at gemme kildefilernes relative sti eller statiske værdi. Udtrykket understøttes for sidstnævnte. | •Navn •Værdi |
Nej | additionalColumns: •Navn •værdi |
Destinationsoplysninger
Navn | Beskrivelse | Værdi | Kræves | JSON-scriptegenskab |
---|---|---|---|---|
forbindelse | Din forbindelse til destinationsdatalageret. | < din Azure Database for PostgreSQL-forbindelse > | Ja | forbindelse |
Forbindelsestype | Destinationsforbindelsestypen. | Azure Database til PostgreSQL- | Ja | / |
|
Din destinationsdatatabel til at skrive data. | < navnet på destinationstabellen > | Ja | typeProperties (under typeProperties ->sink ):-skema -bord |
skrivemetoden |
Den metode, der bruges til at skrive data til Azure Database for PostgreSQL. | • kommandoen Kopiér (standard) • masseindsætning |
Nej | writeMethod: • CopyCommand • BulkInsert |
script | En SQL-forespørgsel for den kopiaktivitet, der skal udføres, før du skriver data til Azure Database for PostgreSQL i hver kørsel. Du kan bruge denne egenskab til at rydde op i forudindlæste data. | < > | Nej | preCopyScript |
timeout for skrivning af batch | Ventetiden for, at batchindsætningshandlingen afsluttes, før der udløber timeout. | timespan (standarden er 00:30:00 - 30 minutter) |
Nej | writeBatchTimeout |
Skriv batchstørrelse | Antallet af rækker, der indlæses i Azure Database for PostgreSQL pr. batch. | heltal (standarden er 1.000.000) |
Nej | writeBatchSize |
Relateret indhold
- oversigt over Azure Database til PostgreSQL-connector