Condividi tramite


Configurare il database Azure per PostgreSQL in un'attività di copia

Questo articolo illustra come usare l'attività di copia in una pipeline per copiare dati da e in Database di Azure per PostgreSQL.

Configurazione supportata

Per la configurazione di ogni scheda nell'attività di copia, consultare rispettivamente le sezioni seguenti.

Generale

Consultare la guida sulle Impostazioni generali per configurare la scheda Impostazioni generali.

Origine

Passare alla scheda Origine per configurare l'origine dell'attività di copia. Per la configurazione dettagliata, vedere il contenuto seguente.

Screenshot che mostra la scheda sorgente e l'elenco delle proprietà.

Le seguenti tre proprietà sono obbligatorie:

  • Connessione: selezionare una connessione Database di Azure per PostgreSQL dall'elenco delle connessioni. Se non esiste alcuna connessione, creare una nuova connessione al Database di Azure per PostgreSQL.

  • Usa query: selezionare Tabella per leggere i dati dalla tabella specificata o selezionare Query per leggere i dati usando query.

    • Se si seleziona Tabella:

      • tabella: selezionare la tabella dall'elenco a discesa oppure selezionare Immettere manualmente per immetterla manualmente per leggere i dati.

        Schermata che mostra la query 'Usa' - Tabella.

    • Se si seleziona Query:

      • Query: specificare la query SQL personalizzata per leggere i dati. Ad esempio, SELECT * FROM mytable o SELECT * FROM "MyTable".

        Nota

        In PostgreSQL, il nome dell'entità viene considerato senza distinzione tra maiuscole e minuscole se non è racchiuso tra virgolette.

        Screenshot che mostra Usa query - Query.

  • Versione: versione specificata dall'utente. È consigliabile eseguire l'aggiornamento alla versione più recente per sfruttare i miglioramenti più recenti. Quando si seleziona la versione 2.0, il connettore usa la modalità SSL richiesta se si crittografa la connessione. Per altre informazioni sulla modalità SSL, vedere questo articolo.

In Avanzato è possibile specificare i seguenti campi:

  • timeout query (minuti): Specificare il tempo di attesa prima di terminare il tentativo di eseguire un comando e generare un errore; il valore predefinito è 120 minuti. Se questo parametro è impostato, i valori consentiti sono intervalli di tempo, ad esempio "02:00:00" (120 minuti). Per altre informazioni, vedere CommandTimeout.

  • Opzione di partizione: specificare le opzioni di partizionamento dei dati utilizzate per caricare i dati dal database di Azure per PostgreSQL. Quando è abilitata un'opzione di partizione (ovvero diversa da Nessuna), il grado di parallelismo per caricare contemporaneamente dati da un database di Azure per PostgreSQL è controllato dal Grado di parallelismo della copia nella scheda delle impostazioni dell'attività di copia.

    Se si seleziona Nessuno, si sceglie di non usare la partizione.

    Se si seleziona Partizioni fisiche della tabella:

    • Nomi delle partizioni: specificare l'elenco delle partizioni fisiche da copiare.

      Se si usa una query per recuperare i dati di origine, associare ?AdfTabularPartitionName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Database di Azure per PostgreSQL.

      Screenshot che mostra la configurazione quando si seleziona Partizioni fisiche della tabella.

    Se si seleziona Intervallo dinamico:

    • Nome della colonna di partizione: specificare il nome della colonna di origine in formato intero o di tipo data/datetime (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone o time without time zone) utilizzata dal partizionamento per intervalli per la copia parallela. Se non specificato, la chiave primaria della tabella viene rilevata automaticamente e usata come colonna di partizione.

      Se si usa una query per recuperare i dati di origine, associare ?AdfRangePartitionColumnName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Database di Azure per PostgreSQL.

    • Limite massimo della partizione: specificare il valore massimo della colonna di partizione da cui copiare i dati.

      Se si usa una query per recuperare i dati di origine, associare ?AdfRangePartitionUpbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Database di Azure per PostgreSQL. .

    • Limite minimo della partizione: specificare il valore minimo della colonna di partizione da cui copiare i dati.

      Se si usa una query per recuperare i dati di origine, associare ?AdfRangePartitionLowbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Database di Azure per PostgreSQL.

      Screenshot che mostra la configurazione quando si seleziona Intervallo dinamico.

  • Colonne aggiuntive: aggiungere altre colonne di dati per archiviare il percorso relativo o il valore statico dei file di origine. L'espressione è supportata per quest'ultimo.

Destinazione

Passare alla scheda Destinazione per configurare la destinazione dell'attività di copia. Per la configurazione dettagliata, vedere il contenuto seguente.

Screenshot che mostra la scheda di destinazione e l'elenco delle proprietà.

Le seguenti tre proprietà sono obbligatorie:

  • Connessione: selezionare una connessione Database di Azure per PostgreSQL dall'elenco delle connessioni. Se non esiste alcuna connessione, creare una nuova connessione al Database di Azure per PostgreSQL.

  • tabella: selezionare la tabella dall'elenco a discesa oppure selezionare Immettere manualmente per inserire i dati.

  • Versione: versione specificata dall'utente. È consigliabile eseguire l'aggiornamento alla versione più recente per sfruttare i miglioramenti più recenti. Quando si seleziona la versione 2.0, il connettore usa la modalità SSL richiesta se si crittografa la connessione. Per altre informazioni sulla modalità SSL, vedere questo articolo.

In Avanzato è possibile specificare i seguenti campi:

  • Metodo di scrittura: selezionare il metodo utilizzato per scrivere i dati nel database di Azure per PostgreSQL. Selezionare dal comando Copia (impostazione predefinita, più efficiente), inserimento in blocco e Upsert (per la versione 2.0).

    • Upsert: scegliere questa opzione se i dati di origine hanno sia inserimenti che aggiornamenti.
      • Colonne chiave: scegliere quale colonna viene usata per determinare se una riga dall'origine corrisponde a una riga dalla destinazione. Screenshot che mostra le colonne chiave.
  • Script di pre-copia: specificare una query SQL che l'attività di copia deve eseguire prima di scrivere i dati nel Database di Azure per PostgreSQL a ogni esecuzione. È possibile usare questa proprietà per pulire i dati precaricati.

  • Timeout per la scrittura in batch: specificare il tempo di attesa per il completamento dell'operazione di inserimento batch prima che scada il tempo. I valori consentiti sono intervalli di tempo. Il valore predefinito è 00:30:00 (30 minuti).

  • Dimensione batch di scrittura: Specificare il numero di righe caricate nel database Azure per PostgreSQL per ogni batch. Il valore consentito è un numero intero che rappresenta il numero di righe. Il valore predefinito è 1.000.000.

Mappatura

Per la configurazione della scheda Mapping, vedere Configurare i mapping nella scheda Mapping.

Impostazione

Per la configurazione della scheda Impostazioni, vedere Configurare le altre impostazioni nella scheda Impostazioni.

Copia parallela da Database di Azure per PostgreSQL

Il connettore del Database di Azure per PostgreSQL nell'attività di copia fornisce il partizionamento dei dati integrato per copiare i dati in parallelo. È possibile trovare le opzioni di partizionamento dei dati nella tabella Origine dell'attività di copia.

Quando si abilita la copia partizionata, l'attività di copia esegue query parallele sull'origine del database Azure per PostgreSQL per caricare i dati in base alle partizioni. Il grado di parallelismo è controllato dal Grado di parallelismo della copia nella scheda delle impostazioni dell'attività di copia. Ad esempio, se si imposta il Grado di parallelismo della copia su quattro, il servizio genera ed esegue contemporaneamente quattro query in base all'opzione di partizione e alle impostazioni specificate e ogni query recupera una porzione di dati dal Database di Azure per PostgreSQL.

Si consiglia di abilitare la copia parallela con il partizionamento dei dati, specialmente quando si caricano grandi quantità di dati di Database di Azure per PostgreSQL. Di seguito sono riportate le configurazioni consigliate per i diversi scenari: Quando si copiano dati in un archivio dati basato su file, è consigliabile scrivere in una cartella come file multipli (specificare solo il nome della cartella); in tal caso, le prestazioni risultano migliori rispetto alla scrittura in un singolo file.

Sceneggiatura Impostazioni consigliate
Caricamento completo da una tabella di grandi dimensioni, con partizioni fisiche. Opzione di partizione: partizioni fisiche della tabella.

Durante l'esecuzione, il servizio rileva automaticamente le partizioni fisiche e copia i dati in base alle partizioni.
Caricamento completo da una tabella di grandi dimensioni, senza partizioni fisiche, con una colonna di numeri interi per il partizionamento dei dati. Opzioni di partizione: intervallo dinamico.
Colonna di partizione: specificare la colonna usata per il partizionamento dei dati. Se non è specificato, viene usata la colonna della chiave primaria.
Caricare una grande quantità di dati usando una query personalizzata, con partizioni fisiche. Opzione di partizione: partizioni fisiche della tabella.
Query: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>.
Nome partizione: specificare i nomi della partizione da cui copiare i dati. Se non specificato, il servizio rileva automaticamente le partizioni fisiche nella tabella specificata nel set di dati PostgreSQL.

Durante l'esecuzione, il servizio sostituisce ?AdfTabularPartitionName con il nome effettivo della partizione e lo invia a Database di Azure per PostgreSQL.
Caricare una grande quantità di dati usando una query personalizzata, senza partizioni fisiche, con una colonna di numeri interi per il partizionamento dei dati. Opzioni di partizione: intervallo dinamico.
Query: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Colonna di partizione: specificare la colonna usata per il partizionamento dei dati. È possibile partizionare la colonna con dati di tipo integer o date/datetime.
Limite massimo della partizione e Limite minimo della partizione: specificare se si desidera filtrare in base alla colonna di partizione per recuperare i dati solo tra l'intervallo inferiore e quello superiore.

Durante l'esecuzione, il servizio sostituisce ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbounde ?AdfRangePartitionLowbound con il nome della colonna e gli intervalli di valori effettivi per ogni partizione e li invia a Database di Azure per PostgreSQL.
Ad esempio, se la colonna di partizione "ID" è impostata con il limite inferiore su 1 e il limite superiore su 80 e la copia parallela su 4, il servizio recupera i dati da 4 partizioni. Gli ID sono rispettivamente compresi tra [1, 20], [21, 40], [41, 60] e [61, 80].

Procedure consigliate per il caricamento di dati con opzione partizione:

  • Scegliere una colonna distintiva come colonna partizione (ad esempio, chiave primaria o chiave univoca) per evitare l'asimmetria dei dati.
  • Se la tabella include una partizione predefinita, usare l'opzione di partizione "Partizioni fisiche della tabella" per ottenere prestazioni migliori.

Riepilogo della tabella

La tabella seguente contiene altre informazioni sull'attività di copia in Database di Azure per PostgreSQL.

Informazioni sull'origine

Nome Descrizione valore Richiesto Proprietà dello script JSON
Connessione Connessione all'archivio dati di origine. < la tua connessione database di Azure per PostgreSQL > connessione
Usa query Modalità di lettura dei dati. Applicare Tabella per leggere i dati dalla tabella specificata o applicare Query per leggere i dati usando le query. Tabella
Query
• typeProperties (sotto typeProperties ->source)
  -schema
  - tavolo
• interrogazione
Versione Versione specificata. È consigliabile eseguire l'aggiornamento alla versione più recente per sfruttare i miglioramenti più recenti. Quando si seleziona la versione 2.0, il connettore usa la modalità SSL richiesta se si crittografa la connessione. Per altre informazioni sulla modalità SSL, vedere questo articolo. • 2.0
• 1.0
Versione:
• 2.0
• 1.0
Timeout della query (minuti) Il tempo di attesa prima di terminare il tentativo di eseguire un comando e generare un errore, il valore predefinito è 120 minuti. Se questo parametro è impostato, i valori consentiti sono intervalli di tempo, ad esempio "02:00:00" (120 minuti). Per altre informazioni, vedere CommandTimeout. intervallo di tempo NO queryTimeout
Nomi delle partizioni Elenco di partizioni fisiche da copiare. Se si usa una query per recuperare i dati di origine, associare ?AdfTabularPartitionName nella clausola WHERE. < nomi delle partizioni > NO nomi delle partizioni
Nome della colonna di partizione Nome della colonna di origine in formato intero o di tipo data/datetime (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone o time without time zone) utilizzata dal partizionamento per intervalli per la copia parallela. Se non specificato, la chiave primaria della tabella viene rilevata automaticamente e usata come colonna di partizione. < nomi delle colonne di partizione > NO partitionColumnName
Limite massimo della partizione Il valore massimo della colonna di partizione da cui copiare i dati. Se si usa una query per recuperare i dati di origine, eseguire l'hook di ?AdfRangePartitionUpbound nella clausola WHERE. < limite massimo della partizione > NO partitionUpperBound
Limite minimo della partizione Il valore minimo della colonna di partizione da cui copiare i dati. Se si usa una query per recuperare i dati di origine, eseguire l'hook di ?AdfRangePartitionLowbound nella clausola WHERE. < limite minimo della partizione > NO partitionLowerBound
Colonne aggiuntive Aggiungere altre colonne di dati per archiviare il percorso relativo o il valore statico dei file di origine. L'espressione è supportata per quest'ultimo. • Nome
• Valore
NO colonneAggiuntive:
• nome
• valore

Informazioni sulla destinazione

Nome Descrizione valore Richiesto Proprietà dello script JSON
Connessione Connessione all'archivio dati di destinazione. < la tua connessione database di Azure per PostgreSQL > connessione
Tabella Tabella dati di destinazione dove scrivere i dati. < nome della tabella di destinazione > typeProperties (sotto typeProperties ->sink):
  -schema
  - tavolo
Versione Versione specificata. È consigliabile eseguire l'aggiornamento alla versione più recente per sfruttare i miglioramenti più recenti. Quando si seleziona la versione 2.0, il connettore usa la modalità SSL richiesta se si crittografa la connessione. Per altre informazioni sulla modalità SSL, vedere questo articolo. • 2.0
• 1.0
Versione:
• 2.0
• 1.0
Metodo di scrittura Metodo usato per scrivere i dati in Database di Azure per PostgreSQL. Comando COPY (impostazione predefinita)
Inserimento in blocco
Upsert (per la versione 2.0)
NO writeMethod:
• CopyCommand
• BulkInsert
• Upsert (operazione di inserimento o aggiornamento)
colonne chiave Scegliere la colonna utilizzata per determinare se una riga dall'origine corrisponde a una riga dalla destinazione. < la tua colonna chiave> NO Chiavi
Script di pre-copia Una query SQL per l'attività di copia da eseguire prima di scrivere i dati nel Database di Azure per PostgreSQL a ogni esecuzione. È possibile usare questa proprietà per pulire i dati precaricati. < script di pre-copia > NO preCopyScript
Timeout del batch di scrittura Tempo di attesa per il completamento dell'operazione di inserimento batch prima del timeout. intervallo di tempo
(il valore predefinito è 00:30:00 - 30 minuti)
NO writeBatchTimeout
Dimensione del batch di scrittura Numero di righe per batch caricate nel Database Azure per PostgreSQL. numero intero
(il valore predefinito è 1.000.000)
NO writeBatchSize