Dela via


Konfigurera Azure Database for PostgreSQL i en kopieringsaktivitet

Den här artikeln beskriver hur du använder kopieringsaktiviteten i datapipelinen för att kopiera data från och till Azure Database for PostgreSQL.

Konfiguration som stöds

För konfigurationen av varje flik under kopieringsaktivitet går du till följande avsnitt.

Allmänt

Se vägledningen allmänna inställningar för att konfigurera fliken Allmänna inställningar.

Källa

Gå till fliken Källa för att konfigurera kopieringsaktivitetskällan. Se följande innehåll för den detaljerade konfigurationen.

Screenshot showing source tab and the list of properties.

Följande tre egenskaper krävs:

  • Datalagertyp: Välj Extern.
  • Anslut ion: Välj en Azure Database for PostgreSQL-anslutning i anslutningslistan. Om det inte finns någon anslutning skapar du en ny Azure Database for PostgreSQL-anslutning genom att välja Ny.
  • Anslut ionstyp: Välj Azure Database for PostgreSQL.
  • Använd fråga: Välj Tabell för att läsa data från den angivna tabellen eller välj Fråga för att läsa data med hjälp av frågor.
    • Om du väljer Tabell:

      • Tabell: Välj tabellen i listrutan eller välj Redigera för att manuellt ange den för att läsa data.

        Screenshot showing Use query - Table.

    • Om du väljer Fråga:

      • Fråga: Ange den anpassade SQL-frågan för att läsa data. Till exempel: SELECT * FROM mytable eller SELECT * FROM "MyTable".

        Kommentar

        I PostgreSQL behandlas entitetsnamnet som skiftlägesokänsligt om det inte anges.

        Screenshot showing Use query - Query.

Under Avancerat kan du ange följande fält:

  • Partitionsalternativ: Anger de datapartitioneringsalternativ som används för att läsa in data från Azure Database for PostgreSQL. När ett partitionsalternativ är aktiverat (dvs. inte Ingen) styrs graden av parallellitet för samtidig inläsning av data från en Azure Database for PostgreSQL av kopieringsparallellitetens grad på fliken inställningar för kopieringsaktivitet.

    Om du väljer Ingen väljer du att inte använda partition.

    Om du väljer Fysiska partitioner i tabellen:

    • Partitionsnamn: Ange listan över fysiska partitioner som måste kopieras.

      Om du använder en fråga för att hämta källdata kopplar ?AdfTabularPartitionName du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från Azure Database for PostgreSQL .

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

    Om du väljer Dynamiskt intervall:

    • Partitionskolumnnamn: Ange namnet på källkolumnen i heltal eller datum/datetime-typ (int, , smallintbigint, date, timestamp with time zone timestamp without time zoneeller time without time zone) som ska användas av intervallpartitionering för parallell kopiering. Om den inte anges identifieras den primära nyckeln i tabellen automatiskt och används som partitionskolumn.

      Om du använder en fråga för att hämta källdata kopplar ?AdfRangePartitionColumnName du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från Azure Database for PostgreSQL .

    • Partitionens övre gräns: Ange det maximala värdet för partitionskolumnen för att kopiera ut data.

      Om du använder en fråga för att hämta källdata kopplar ?AdfRangePartitionUpbound du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från Azure Database for PostgreSQL . .

    • Partition med lägre gräns: Ange det lägsta värdet för partitionskolumnen för att kopiera ut data.

      Om du använder en fråga för att hämta källdata kopplar ?AdfRangePartitionLowbound du in WHERE-satsen. Ett exempel finns i avsnittet Parallell kopia från Azure Database for PostgreSQL .

      Screenshot showing the configuration when you select Dynamic range.

  • Ytterligare kolumner: Lägg till ytterligare datakolumner för att lagra källfilernas relativa sökväg eller statiska värde. Uttrycket stöds för det senare.

Mål

Gå till fliken Mål för att konfigurera kopieringsaktivitetens mål. Se följande innehåll för den detaljerade konfigurationen.

Screenshot showing destination tab and the list of properties.

Följande tre egenskaper krävs:

  • Datalagertyp: Välj Extern.
  • Anslut ion: Välj en Azure Database for PostgreSQL-anslutning i anslutningslistan. Om det inte finns någon anslutning skapar du en ny Azure Database for PostgreSQL-anslutning genom att välja Ny.
  • Anslut ionstyp: Välj Azure Database for PostgreSQL.
  • Tabell: Välj tabellen i listrutan eller välj Redigera för att manuellt ange den för att skriva data.

Under Avancerat kan du ange följande fält:

  • Skrivmetod: Välj den metod som används för att skriva data till Azure Database for PostgreSQL. Välj från Kommandot Kopiera (standard, vilket är mer högpresterande) och Massinfogning.

  • Förkopieringsskript: Ange en SQL-fråga för kopieringsaktiviteten som ska köras innan du skriver data till Azure Database for PostgreSQL i varje körning. Du kan använda den här egenskapen för att rensa inlästa data.

  • Tidsgräns för skrivning av batch: Ange väntetiden för batchinfogningsåtgärden som ska slutföras innan tidsgränsen uppnås. Det tillåtna värdet är tidsintervall. Standardvärdet är 00:30:00 (30 minuter).

  • Skriv batchstorlek: Ange antalet rader som läses in i Azure Database for PostgreSQL per batch. Tillåtet värde är ett heltal som representerar antalet rader. Standardvärdet är 1 000 000.

Mappning

Information om konfiguration av fliken Mappning finns i Konfigurera dina mappningar under mappningsfliken.

Inställningar

För Inställningar flikkonfiguration går du till Konfigurera dina andra inställningar under fliken Inställningar.

Parallell kopia från Azure Database for PostgreSQL

Azure Database for PostgreSQL-anslutningsappen i kopieringsaktiviteten tillhandahåller inbyggd datapartitionering för att kopiera data parallellt. Du hittar alternativ för datapartitionering på fliken Källa i kopieringsaktiviteten.

När du aktiverar partitionerad kopiering kör kopieringsaktiviteten parallella frågor mot din Azure Database for PostgreSQL-källa för att läsa in data efter partitioner. Parallellgraden styrs av grad av kopieringsparallellitet på fliken inställningar för kopieringsaktivitet. Om du till exempel anger Grad av kopieringsparallellitet till fyra genererar och kör tjänsten samtidigt fyra frågor baserat på ditt angivna partitionsalternativ och inställningar, och varje fråga hämtar en del av data från Azure Database for PostgreSQL.

Du rekommenderas att aktivera parallell kopiering med datapartitionering, särskilt när du läser in stora mängder data från din Azure Database for PostgreSQL. Följande är föreslagna konfigurationer för olika scenarier. När du kopierar data till filbaserat datalager rekommenderar vi att du skriver till en mapp som flera filer (anger endast mappnamn), i vilket fall prestandan är bättre än att skriva till en enda fil.

Scenario Föreslagna inställningar
Full belastning från en stor tabell med fysiska partitioner. Partitionsalternativ: Fysiska partitioner i tabellen.

Under körningen identifierar tjänsten automatiskt de fysiska partitionerna och kopierar data efter partitioner.
Full belastning från stor tabell, utan fysiska partitioner, medan med en heltalskolumn för datapartitionering. Partitionsalternativ: Dynamiskt intervall.
Partitionskolumn: Ange den kolumn som används för att partitionera data. Om den inte anges används primärnyckelkolumnen.
Läs in en stor mängd data med hjälp av en anpassad fråga med fysiska partitioner. Partitionsalternativ: Fysiska partitioner i tabellen.
Fråga: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>.
Partitionsnamn: Ange partitionsnamnen som du vill kopiera data från. Om det inte anges identifierar tjänsten automatiskt de fysiska partitionerna i tabellen som du angav i PostgreSQL-datauppsättningen.

Under körningen ersätter tjänsten med det faktiska partitionsnamnet ?AdfTabularPartitionName och skickar till Azure Database for PostgreSQL.
Läs in en stor mängd data med hjälp av en anpassad fråga, utan fysiska partitioner, medan du har en heltalskolumn för datapartitionering. Partitionsalternativ: Dynamiskt intervall.
Fråga: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Partitionskolumn: Ange den kolumn som används för att partitionera data. Du kan partitionera mot kolumnen med heltal eller datatyp för datum/datetime.
Partitionens övre gräns och partitionens nedre gräns: Ange om du vill filtrera mot partitionskolumnen för att endast hämta data mellan det nedre och det övre intervallet.

Under körningen ersätter ?AdfRangePartitionColumnNametjänsten , ?AdfRangePartitionUpboundoch ?AdfRangePartitionLowbound med det faktiska kolumnnamnet och värdeintervallen för varje partition och skickar till Azure Database for PostgreSQL.
Om till exempel partitionskolumnen "ID" har angetts med den nedre gränsen som 1 och den övre gränsen som 80, med parallell kopiering inställd som 4, hämtar tjänsten data med 4 partitioner. Deras ID:n är mellan [1,20], [21, 40], [41, 60] respektive [61, 80].

Metodtips för att läsa in data med partitionsalternativet:

  • Välj distinkt kolumn som partitionskolumn (till exempel primärnyckel eller unik nyckel) för att undvika datasnedvridning.
  • Om tabellen har inbyggd partition använder du partitionsalternativet "Fysiska partitioner av tabellen" för att få bättre prestanda.

Tabellsammanfattning

Följande tabell innehåller mer information om kopieringsaktiviteten i Azure Database for PostgreSQL.

Källinformation

Name Beskrivning Värde Obligatoriskt JSON-skriptegenskap
Typ av datalager Din datalagertyp. Externt Ja /
Anslutning Din anslutning till källdatalagret. < din Azure Database for PostgreSQL-anslutning > Ja anslutning
Anslutningstyp Din källanslutningstyp. Azure Database for PostgreSQL Ja /
Använda fråga Sättet att läsa data. Använd tabell för att läsa data från den angivna tabellen eller tillämpa Fråga för att läsa data med hjälp av frågor. Tabell
Fråga
Ja • typeProperties (under typeProperties ->source)
  -Schemat
  -Tabell
•Fråga
Partitionsnamn Listan över fysiska partitioner som måste kopieras. Om du använder en fråga för att hämta källdata kopplar ?AdfTabularPartitionName du in WHERE-satsen. < dina partitionsnamn > Nej partitionNames
Partitionskolumnnamn Namnet på källkolumnen i heltal eller datum/datetime-typ (int, , bigintsmallint, date, timestamp without time zonetimestamp with time zone eller time without time zone) som ska användas av intervallpartitionering för parallell kopiering. Om den inte anges identifieras den primära nyckeln i tabellen automatiskt och används som partitionskolumn. < dina partitionskolumnnamn > Nej partitionColumnName
Partitionens övre gräns Det maximala värdet för partitionskolumnen för att kopiera ut data. Om du använder en fråga för att hämta källdata kopplar ?AdfRangePartitionUpbound du in WHERE-satsen. < partitionens övre gräns > Nej partitionUpperBound
Partition, nedre gräns Det minsta värdet för partitionskolumnen för att kopiera ut data. Om du använder en fråga för att hämta källdata kopplar ?AdfRangePartitionLowbound du in WHERE-satsen. < partitionens nedre gräns > Nej partitionLowerBound
Ytterligare kolumner Lägg till ytterligare datakolumner för att lagra källfilernas relativa sökväg eller statiska värde. Uttrycket stöds för det senare. • Namn
•Värde
Nej additionalColumns:
•Namn
•Värde

Målinformation

Name Beskrivning Värde Obligatoriskt JSON-skriptegenskap
Typ av datalager Din datalagertyp. Externt Ja /
Anslutning Din anslutning till måldatalagret. < din Azure Database for PostgreSQL-anslutning > Ja anslutning
Anslutningstyp Din målanslutningstyp. Azure Database for PostgreSQL Ja /
Tabell Måldatatabellen för att skriva data. < namn på måltabellen > Ja typeProperties (under typeProperties ->sink):
  -Schemat
  -Tabell
Skrivmetod Den metod som används för att skriva data till Azure Database for PostgreSQL. Kopiera kommando (standard)
Massinfogning
Nej writeMethod:
• CopyCommand
• BulkInsert
Förkopieringsskript En SQL-fråga för kopieringsaktiviteten som ska köras innan du skriver data till Azure Database for PostgreSQL i varje körning. Du kan använda den här egenskapen för att rensa inlästa data. < ditt förkopieringsskript > Nej preCopyScript
Tidsgräns för skrivning av batch Väntetiden för att batchinfogningsåtgärden ska slutföras innan tidsgränsen uppnås. tidsintervall
(standardvärdet är 00:30:00 –30 minuter)
Nej writeBatchTimeout
Skriv batchstorlek Antalet rader som läses in i Azure Database for PostgreSQL per batch. integer
(standardvärdet är 1 000 000)
Nej writeBatchSize