Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
Se si seleziona Query:
Query: specificare la query SQL personalizzata per leggere i dati. Ad esempio,
SELECT * FROM mytableoSELECT * FROM "MyTable".Nota
In PostgreSQL, il nome dell'entità viene considerato senza distinzione tra maiuscole e minuscole se non è racchiuso tra virgolette.
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
?AdfTabularPartitionNamenella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Database di Azure per PostgreSQL.
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 zoneotime 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
?AdfRangePartitionColumnNamenella 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
?AdfRangePartitionUpboundnella 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
?AdfRangePartitionLowboundnella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Database di Azure per PostgreSQL.
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.
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.
-
Colonne chiave: scegliere quale colonna viene usata per determinare se una riga dall'origine corrisponde a una riga dalla destinazione.
-
Upsert: scegliere questa opzione se i dati di origine hanno sia inserimenti che aggiornamenti.
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 > | Sì | 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 |
Sì | • 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 |
Sì | 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 > | Sì | connessione |
| Tabella | Tabella dati di destinazione dove scrivere i dati. | < nome della tabella di destinazione > | Sì | 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 |
Sì | 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 |