Condividi tramite


Configurare in un'attività di Copia della pipeline di dati

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da e in un database Oracle.

Configurazione supportata

Per la configurazione di ogni scheda nell'attività Copy, leggere le rispettive sezioni seguenti.

Generali

Per configurare la scheda di impostazioni Generali, vedere la guida alle impostazioni Generali.

Origine

Le proprietà seguenti sono supportate per Oracle nella scheda Origine di un'attività di copia.

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

Per ogni oggetto sono necessarie le proprietà seguenti:

  • Connessione: selezionare una connessione al database Oracle dall'elenco delle connessioni. Se non esiste alcuna connessione, creare una nuova connessione al database Oracle selezionando Altro nella parte inferiore dell'elenco di connessioni.
  • Usare query: selezionare da tabella o query.
    • Se si seleziona Tabella:

      • Tabella: specificare il nome della tabella di destinazione nel database. Selezionare la tabella dall'elenco a discesa oppure selezionare Inserire manualmente per immettere lo schema e il nome della tabella.

        Screenshot che mostra Usa query - Tabella.

    • Se si seleziona Query:

      • Query: Specificare la query SQL per leggere i dati. Ad esempio: SELECT * FROM MyTable.

        Quando si abilita il carico partizionato, è necessario associare tutti i parametri di partizione predefiniti corrispondenti nella query. Per gli esempi, vedere la sezione Copia parallela da Oracle.

        Screenshot che mostra l'opzione Usa query - Query.

Sotto Avanzate, è possibile specificare i campi seguenti:

  • Opzioni di partizionamento: Specifica le opzioni di partizionamento dei dati usate per caricare i dati da Oracle. Quando è abilitata un'opzione di partizione (diversa da Nessuno), il grado di parallelismo per il caricamento simultaneo di dati da un database Oracle è controllato dal valore Grado di parallelismo di copia presente 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 partizione: specifica l’elenco di partizioni fisiche da copiare.

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

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

    Se si seleziona Intervallo dinamico:

    • Nome colonna partizione: specifica il nome della colonna di origine nel tipo Integer che verrà usata dal partizionamento dell'intervallo 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 ?DfRangePartitionColumnName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Oracle.

    • Limite superiore della partizione: specificare il valore massimo della colonna della partizione per copiare i dati.

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

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

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

      Screenshot che mostra la configurazione quando si seleziona Intervallo dinamico.

  • Timeout query (minuti): specifica il timeout per l'esecuzione del comando di query, il valore predefinito è 120 minuti. Se per questa proprietà è impostato un parametro, i valori consentiti sono intervalli di tempo, ad esempio "02:00:00" (120 minuti).

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

Destinazione

Le proprietà seguenti sono supportate per Oracle nella scheda Destinazione di un'attività di copia.

Screenshot che mostra la scheda Destinazione.

Per ogni oggetto sono necessarie le proprietà seguenti:

  • Connessione: selezionare una connessione al database Oracle dall'elenco delle connessioni. Se la connessione non esiste, creare una nuova connessione al database Oracle selezionando Altro nella parte inferiore dell'elenco di connessioni.
  • Tabella: selezionare la tabella nel database dall'elenco a discesa. In alternativa, selezionare Immettere manualmente per immettere lo schema e il nome della tabella.

Sotto Avanzate, è possibile specificare i campi seguenti:

  • Script della pre-copia: Specificare una query SQL per l'attività Copy da eseguire prima di scrivere i dati in Database di Azure per PostgreSQL in ogni esecuzione. È possibile usare questa proprietà per pulire i dati precaricati.
  • Timeout del batch di scrittura: il tempo di attesa per il completamento dell'operazione di inserimento batch prima del timeout. Il valore consentito è timespan. Ad esempio "00:30:00" (30 minuti).
  • Dimensioni batch di scrittura: specificare il numero di righe da inserire nella tabella di database Oracle per batch. Il valore consentito è integer (numero di righe). Il valore predefinito è 10.000.
  • Connessioni massime simultanee: il limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee.

Mapping

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

Impostazione

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

Copia parallela da Oracle

Il connettore Oracle fornisce il partizionamento dei dati predefinito per copiare dati da Oracle in parallelo. È possibile trovare le opzioni di partizionamento dei dati nella tabella Origine dell'attività Copy.

Quando si abilita la copia partizionata, il servizio esegue query parallele sull'origine Oracle per caricare i dati in base alle partizioni. Il grado di parallelismo è controllato dall'impostazione Grado di parallelismo della copia nella scheda Impostazioni attività di copia. Ad esempio, se si imposta il grado di parallelismo della copia su quattro, il servizio genera ed esegue simultaneamente quattro query basate sull'opzione di partizione e sulle impostazioni specificate e ogni query recupera una parte dei dati dal database Oracle.

È consigliabile abilitare la copia parallela con il partizionamento dei dati, soprattutto quando si caricano grandi quantità di dati dal database Oracle. 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.

Scenario 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: partizione a intervalli dinamici.
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 <TABLENAME> PARTITION("?DfTabularPartitionName") 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 Oracle.
Durante l'esecuzione, il servizio sostituisce ?DfTabularPartitionName con il nome effettivo della partizione e lo invia a Oracle.
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: partizione a intervalli dinamici.
Query: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause>.
Colonna di partizione: specificare la colonna usata per il partizionamento dei dati. È possibile partizionare la colonna con il tipo di dati Integer.
Limite superiore della partizione e limite inferiore 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 ?DfRangePartitionColumnName, ?DfRangePartitionUpbounde ?DfRangePartitionLowbound con il nome della colonna e gli intervalli di valori effettivi per ogni partizione e li invia a Oracle.
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].

Suggerimento

Quando si copiano dati da una tabella non partizionata, è possibile usare l'opzione di partizione "Intervallo dinamico" per eseguire il partizionamento su una colonna integer. Se i dati di origine non hanno tale tipo di colonna, è possibile sfruttare la funzione ORA_HASH nella query di origine per generare una colonna e usarla come colonna di partizione.

Tabella di riepilogo

Le tabelle seguenti contengono altre informazioni sull'attività di copia nel database Oracle.

Informazioni sull'origine

Nome Descrizione valore Richiesto Proprietà script JSON
Connessione Connessione all'archivio dei dati di origine. <connessione al database Oracle> connection
Usa query Modalità di lettura dei dati dal database Oracle. Applicare la tabella per leggere i dati dalla tabella specificata o applicare Query per leggere i dati usando query SQL. Tabella
Query
/
Per le tabelle
Nome schema Nome dello schema. < nome dello schema > No schema
Nome tabella Nome della tabella. < nome alla tua tabella > No table
Per Query
Query Usare la query SQL personalizzata per leggere i dati. Un esempio è SELECT * FROM MyTable.
Quando si abilita il carico partizionato, è necessario associare tutti i parametri di partizione predefiniti corrispondenti nella query. Per gli esempi, vedere la sezione Copia parallela da Oracle.
< Query SQL > No oracleReaderQuery
Opzione partizione Specifica le opzioni di partizionamento dei dati usate per caricare i dati da Oracle. Nessuno (impostazione predefinita)
Partizioni fisiche della tabella
Intervallo dinamico
No /
Per le Partizioni fisiche della tabella
Nomi della partizione Elenco di partizioni fisiche da copiare. Se si usa una query per recuperare i dati di origine, associare ?DfTabularPartitionName nella clausola WHERE. < Nomi della partizione > No partitionNames
Per l’Intervallo dinamico
Nome colonna di partizione Specifica il nome della colonna di origine nel tipo Integer che verrà usata dal partizionamento dell'intervallo 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 ?DfRangePartitionColumnName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Oracle.
< nomi delle colonne di partizione > No partitionColumnName
Limite superiore della partizione Specificare il valore massimo della colonna della partizione per copiare i dati. Se si usa una query per recuperare i dati di origine, eseguire l'hook ?DfRangePartitionUpbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Oracle. < limite superiore della partizione > No partitionUpperBound
Limite inferiore della partizione Specificare il valore minimo della colonna di partizione per copiare i dati. Se si usa una query per recuperare i dati di origine, eseguire l'hook ?DfRangePartitionLowbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Oracle. < limite inferiore della partizione > No partitionLowerBound
Timeout query Il timeout per l'esecuzione del comando di query, il valore predefinito è 120 minuti. timespan No queryTimeout
Colonne aggiuntive Aggiungere altre colonne di dati per archiviare il percorso relativo o il valore statico dei file di origine. L'espressione è supportata per la seconda opzione. • Name
• Valore
No additionalColumns:
• name
• value

Informazioni sulla destinazione

Nome Descrizione valore Richiesto Proprietà script JSON
Connessione Connessione all'archivio dati di destinazione. <connessione al database Oracle> connection
Tabella Tabella dei dati di destinazione. <nome della tabella di destinazione> /
Nome schema Nome dello schema. < nome dello schema > schema
Nome tabella Nome della tabella. < nome alla tua tabella > table
Script di pre-copia Specificare una query SQL per l'attività Copy da eseguire prima di scrivere i dati in Database di Azure per PostgreSQL in 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 l'operazione di inserimento batch da completare prima del timeout. timespan No writeBatchTimeout
Dimensioni batch di scrittura Il numero di righe da inserire nella tabella SQL per batch. integer
(il valore predefinito è 10.000)
No writeBatchSize
Numero massimo di connessioni simultanee Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. < numero massimo di connessioni simultanee > No maxConcurrentConnections