Configurare Snowflake in un'attività Copy
Questo articolo illustra come usare l'attività Copy in una pipeline di dati per copiare i dati da e verso Snowflake.
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 Snowflake nella scheda Origine di un'attività Copy.
Sono richieste le seguenti proprietà:
- Tipo di archivio dati: selezionare Esterno.
- Collegamento: selezionare un collegamento Snowflake dall'elenco dei collegamenti. Se il collegamento non esiste, creare un nuovo collegamento a Snowflake selezionando Nuovo.
- Database: database predefinito da usare dopo il collegamento. Deve essere un database esistente per il quale il ruolo specificato dispone di privilegi.
- Usare query: come query da utilizzare scegliere Tabella o Query. L'elenco seguente descrive la configurazione di ciascuna impostazione.
- Tabella: selezionare la tabella nel database dall'elenco a discesa. In alternativa, selezionare Modifica per immettere manualmente il nome della tabella.
- Query: specifica la query SQL per leggere i dati da Snowflake. Se i nomi dello schema, della tabella e delle colonne contengono lettere minuscole, virgolette l'identificatore dell'oggetto nella query, ad esempio
select * from "schema"."myTable"
.
In Avanzate, è possibile specificare i campi seguenti:
Integrazione di archiviazione: specificare il nome dell'integrazione di archiviazione creata in Snowflake. Per i passaggi preliminari dell'uso dell'integrazione dell'archiviazione, vedere Configurazione di un'integrazione dell'archiviazione Snowflake.
Opzioni aggiuntive di copia Snowflake: specificare altre opzioni di copia Snowflake da usare nell'istruzione Snowflake COPY per caricare i dati. Opzioni di copia aggiuntive vengono fornite come dizionario di coppie chiave-valore. Esempi: MAX_FILE_SIZE, OVERWRITE. Per altre informazioni, vedere Opzioni di copia Snowflake.
Opzioni di formato Snowflake aggiuntive: specificare opzioni di formato Snowflake aggiuntive, che verranno usate nell'istruzione Snowflake COPY per caricare i dati. Opzioni di formato di file aggiuntive fornite al comando COPY vengono fornite come dizionario di coppie chiave-valore. Esempi: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Per altre informazioni, vedere Opzioni del tipo di formato Snowflake.
Copia diretta da Snowflake
Se l'archivio dati di origine e il formato soddisfano i criteri descritti in questa sezione, è possibile usare l'attività Copy per copiare direttamente dall'origine a Snowflake. Il servizio controlla le impostazioni e, se i criteri seguenti non vengono soddisfatti, l'esecuzione dell'attività Copy non riesce:
Quando si specifica Integrazione archiviazione nell'origine, l'archivio dati di destinazione è l'archiviazione Blob di Azure a cui si fa riferimento nella fase esterna in Snowflake. Prima di copiare i dati, è necessario completare i passaggi seguenti:
Creare un collegamento Archiviazione Blob di Azure per l'archiviazione Blob di Azure di destinazione con qualsiasi tipo di autenticazione supportato.
Concedere almeno il ruolo collaboratore ai dati dei Blob di archiviazione all'entità servizio Snowflake nell'archiviazione Blob di Azure di destinazione Controllo di accesso (IAM).
Quando non si specifica l'integrazione di archiviazione nell'origine:
Il collegamento di destinazione è Archiviazione Blob di Azure con autenticazione della firma di accesso condiviso. Se si vuole copiare direttamente i dati in Azure Data Lake Storage Gen2 nel formato supportato seguente, è possibile creare un collegamento di Archiviazione Blob di Azure con l'autenticazione SAS per l'account Azure Data Lake Storage Gen2, per evitare di usare la copia di staging da Snowflake.
Il formato di dati di destinazione è Parquet, testo delimitato o JSON con le configurazioni seguenti:
- Per il formato Parquet, il codec di compressione è Nessuno, Snappy o Lzo.
- Per il formato testo delimitato:
- Il delimitatore di riga è \r\n o qualsiasi carattere singolo.
- Il Tipo di compressione può essere Nessuno, gzip, bzip2, o deflate.
- La codifica è impostata sul valore predefinito o su UTF-8.
- Il carattere virgolette è virgolette doppie, apici o Nessun carattere virgolette.
- Per il formato JSON, la copia diretta supporta solo il caso in cui il risultato della tabella Snowflake o della query di origine abbia solo una singola colonna e il tipo di dati di questa colonna sia VARIANT, OBJECT o ARRAY.
- Il Tipo di compressione può essere Nessuno, gzip, bzip2, o deflate.
- La codifica è impostata sul valore predefinito o su UTF-8.
- Il modello di file nella destinazione dell'attività Copy viene lasciato come predefinito o impostato su Set di oggetti.
Nell'origine dell'attività Copy non vengono specificate colonne aggiuntive.
Il mapping delle colonne non è specificato.
Copia di staging da Snowflake
Quando l'archivio dati o il formato di destinazione non sono compatibili in modo nativo con il comando Snowflake COPY, come indicato nell'ultima sezione, abilitare la copia a fasi predefinita usando un'istanza di archiviazione Blob di Azure temporanea. La funzionalità copia di staging assicura inoltre una migliore velocità effettiva. Il servizio esporta i dati da Snowflake nell'archiviazione di staging, quindi copia i dati sulla destinazione e infine pulisce i dati temporanei dall'archiviazione di staging.
Per usare questa funzionalità, creare un collegamento di archiviazione Blob di Azure che fa riferimento all'account di archiviazione di Azure come staging provvisorio. Aprire quindi la scheda Impostazioni per configurare le impostazioni di staging. È necessario selezionare Esterno per configurare il collegamento di staging Archiviazione Blob di Azure.
Quando si specifica Integrazione archiviazione nell'origine, l'archiviazione Blob di Azure temporanea di staging deve essere quella a cui si fa riferimento nella fase esterna in Snowflake. Assicurarsi di creare un collegamento all'archiviazione Blob di Azure con qualsiasi autenticazione supportata e concedere almeno un ruolo collaboratore ai dati dei Blob di archiviazione all'entità servizio Snowflake nell'entità servizio di gestione temporanea di Archiviazione Blob di Azure controllo di accesso (IAM). Il percorso di archiviazione in Impostazioni di staging nella scheda Impostazioni è obbligatorio.
Quando non si specifica Integrazione di archiviazione nell'origine, il collegamento all'Archiviazione Blob di Azure di staging deve usare l'autenticazione della firma di accesso condiviso, come richiesto dal comando Snowflake COPY. Assicurarsi di concedere l'autorizzazione di accesso appropriata a Snowflake nell'archiviazione blob di Azure di staging. Per altre informazioni, vedere questo articolo.
Destinazione
Le proprietà seguenti sono supportate per Snowflake nella scheda Destinazione di un'attività Copy.
Sono richieste le seguenti proprietà:
- Tipo di archivio dati: selezionare Esterno.
- Collegamento: selezionare un collegamento Snowflake dall'elenco dei collegamenti. Se il collegamento non esiste, creare un nuovo collegamento a Snowflake selezionando Nuovo.
- Database: database predefinito da usare dopo il collegamento. Deve essere un database esistente per il quale il ruolo specificato dispone di privilegi.
- Tabella: selezionare la tabella nel database dall'elenco a discesa. In alternativa, selezionare Modifica per immettere manualmente il nome della tabella.
In Avanzate, è possibile specificare i campi seguenti:
Script di pre-copia: specificare uno script per l'attività Copy da eseguire prima di scrivere i dati nella tabella di destinazione in ogni esecuzione. È possibile usare questa proprietà per pulire i dati precaricati.
Integrazione di archiviazione: specificare il nome dell'integrazione di archiviazione creata in Snowflake. Per i passaggi preliminari dell'uso dell'integrazione dell'archiviazione, vedere Configurazione di un'integrazione dell'archiviazione Snowflake.
Opzioni aggiuntive di copia Snowflake: specificare altre opzioni di copia Snowflake, che verranno usate nell'istruzione Snowflake COPY per caricare i dati. Opzioni di copia aggiuntive vengono fornite come dizionario di coppie chiave-valore. Esempi: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Per altre informazioni, vedere Opzioni di copia Snowflake.
Opzioni di formato Snowflake aggiuntive: specificare opzioni di formato Snowflake aggiuntive, che verranno usate nell'istruzione Snowflake COPY per caricare i dati. Opzioni di formato di file aggiuntive fornite al comando COPY vengono fornite come dizionario di coppie chiave-valore. Esempi: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Per altre informazioni, vedere Opzioni del tipo di formato Snowflake.
Copia diretta in Snowflake
Se l'archivio dati di origine e il formato soddisfano i criteri descritti in questa sezione, è possibile usare l'attività Copia per copiare direttamente dall'origine a Snowflake. Il servizio controlla le impostazioni e, se i criteri seguenti non vengono soddisfatti, l'esecuzione dell'attività Copy non riesce:
Quando si specifica Integrazione archiviazione nella destinazione:
L'archivio dati di origine è l'archivio Blob di Azure a cui si fa riferimento nella fase esterna in Snowflake. Prima di copiare i dati, è necessario completare i passaggi seguenti:
Creare un collegamento all'archiviazione Blob di Azure per l'archiviazione Blob di Azure di origine con qualsiasi tipo di autenticazione supportato.
Concedere almeno il ruolo Lettore di dati Blob di archiviazione all'entità servizio Snowflake nell'archivio Blob di Azure di origine controllo di accesso (IAM).
Quando non si specifica Integrazione archiviazione nella destinazione:
Il collegamento di origine è Archiviazione Blob di Azure con autenticazione della firma di accesso condiviso. Se si vuole copiare direttamente i dati da Azure Data Lake Storage Gen2 nel formato supportato seguente, è possibile creare un collegamento di Archiviazione Blob di Azure con l'autenticazione di firma di accesso condiviso per l'account Azure Data Lake Storage Gen2, per evitare di usare la copia di staging in Snowflake.
Il formato di dati di origine è Parquet, testo delimitato o JSON con le configurazioni seguenti:
Per il formato Parquet, il codec di compressione è Nessuno o Snappy.
Per il formato testo delimitato:
- Il delimitatore di riga è \r\n o qualsiasi carattere singolo. Se il delimitatore di riga non è "\r\n", Prima riga come intestazione non è selezionata e il conteggio delle righe skip non viene specificato.
- Il Tipo di compressione può essere Nessuno, gzip, bzip2, o deflate.
- La codifica viene lasciata come predefinita o impostata su "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "BIG5", "EUC-JP", "EUC-KR", "GB18030", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2 " ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255".
- Il carattere virgolette è virgolette doppie, apici o Nessun carattere virgolette.
Per il formato JSON, la copia diretta supporta solo il caso in cui la tabella Snowflake di destinazione ha solo una colonna e il tipo di dati di questa colonna è VARIANT, OBJECT o ARRAY.
- Il Tipo di compressione può essere Nessuno, gzip, bzip2, o deflate.
- La codifica è impostata sul valore predefinito o su UTF-8.
- Il mapping delle colonne non è specificato.
Nell'origine dell'attività Copy:
- Non sono specificate colonne aggiuntive.
- Se l'origine è una cartella, viene selezionato In modo ricorsivo.
- Prefisso, Ora di inizio (UTC) e Ora di fine (UTC) in Filtra per ultima modifica e Abilita individuazione partizione non sono specificate.
Copia di staging in Snowflake
Quando l'archivio dati o il formato di origine non sono compatibili in modo nativo con il comando Snowflake COPY, come indicato nell'ultima sezione, abilitare la copia a fasi predefinita usando un'istanza di archiviazione Blob di Azure temporanea. La funzionalità copia di staging assicura inoltre una migliore velocità effettiva. Il servizio converte automaticamente i dati in modo da soddisfare i requisiti di formato dei dati di Snowflake. Richiama quindi il comando COPIA per caricare i dati in Snowflake. Infine, pulisce i dati temporanei dall'archiviazione Blob.
Per usare questa funzionalità, creare un collegamento di archiviazione Blob di Azure che fa riferimento all'account di archiviazione di Azure come staging provvisorio. Aprire quindi la scheda Impostazioni per configurare le impostazioni di staging. È necessario selezionare Esterno per configurare il collegamento di staging Archiviazione Blob di Azure.
Quando si specifica Integrazione archiviazione nella destinazione, l'archiviazione Blob di Azure temporanea di staging deve essere quella a cui si fa riferimento nella fase esterna in Snowflake. Assicurarsi di creare un collegamento Archiviazione Blob di Azure con qualsiasi autenticazione supportata e concedere almeno un ruolo Lettore di dati dei Blob di archiviazione all'entità servizio Snowflake nell'entità servizio di gestione temporanea di Archiviazione Blob di Azure controllo di accesso (IAM). Il percorso di archiviazione in Impostazioni di staging nella scheda Impostazioni è obbligatorio.
Quando non si specifica Integrazione archiviazione nella destinazione, il collegamento Archiviazione Blob di Azure di staging deve usare l'autenticazione della firma di accesso condiviso come richiesto dal comando Snowflake COPY.
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.
Tabella di riepilogo
Le tabelle seguenti contengono altre informazioni sull'attività Copy in Snowflake.
Origine
Nome | Descrizione | valore | Richiesto | Proprietà script JSON |
---|---|---|---|---|
Tipo di archivio dati | Tipo di archivio dati in uso. | Esterno | Sì | / |
Collegamento | Collegamento all'archivio dati di origine. | < collegamento personale > | Sì | connection |
Database | Il proprio database usato come origine. | < database > | Sì | database |
Usa query | Modo per leggere i dati da Snowflake. | • Tabella • Query |
No | • table • query |
Tabella | Nome della tabella da cui leggere i dati. | < nome della propria tabella di origine> | Sì | schema table |
Query | Specifica la query SQL per leggere i dati da Snowflake. | < nome della propria query di origine> | Sì | query |
Integrazione archiviazione | Specificare il nome dell'integrazione di archiviazione creata in Snowflake. Per i passaggi preliminari dell'uso dell'integrazione dell'archiviazione, vedere Configurazione di un'integrazione dell'archiviazione Snowflake. | < la propria integrazione archiviazione > | No | storageIntegration |
Opzioni di copia di Snowflake aggiuntive | Opzioni di copia aggiuntive, fornite come dizionario di coppie chiave-valore. Esempi: MAX_FILE_SIZE, OVERWRITE. Per altre informazioni, vedere Opzioni di copia Snowflake. | • Nome • Valore |
No | additionalCopyOptions |
Opzioni di formato Snowflake aggiuntive | Opzioni di formato di file aggiuntive fornite al comando COPY come dizionario di coppie chiave-valore. Esempi: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Per altre informazioni, vedere Opzioni del tipo di formato Snowflake. | • Name • Valore |
No | additionalFormatOptions |
Destinazione
Nota
Anche se le istanze non Azure di Snowflake sono supportate per l'origine, solo le istanze di Azure Snowflake sono attualmente supportate per le destinazioni Snowflake (dette anche sink in Azure Data Factory).
Nome | Descrizione | valore | Richiesto | Proprietà script JSON |
---|---|---|---|---|
Tipo di archivio dati | Tipo di archivio dati in uso. | Esterno | Sì | / |
Connessione | Collegamento all'archivio dati di destinazione. | < collegamento personale > | Sì | connection |
Database | Database usato come destinazione. | < database> | Sì | / |
Tabella | Tabella dei dati di destinazione. | < nome della tabella di destinazione> | Sì | • schema • table |
Script di pre-copia | Una query SQL per l'attività Copy da eseguire prima di scrivere i dati in Snowflake in ogni esecuzione. Usare questa proprietà per pulire i dati precaricati. | < script di pre-copia> | NO | preCopyScript |
Integrazione archiviazione | Specificare il nome dell'integrazione di archiviazione creata in Snowflake. Per i passaggi preliminari dell'uso dell'integrazione dell'archiviazione, vedere Configurazione di un'integrazione dell'archiviazione Snowflake. | < la propria integrazione archiviazione > | No | storageIntegration |
Opzioni di copia di Snowflake aggiuntive | Opzioni di copia aggiuntive, fornite come dizionario di coppie chiave-valore. Esempi: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Per altre informazioni, vedere Opzioni di copia Snowflake. | • Nome • Valore |
No | additionalCopyOptions |
Opzioni di formato Snowflake aggiuntive | Opzioni di formato di file aggiuntive fornite al comando COPIA, fornite come dizionario di coppie chiave-valore. Esempi: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Per altre informazioni, vedere Opzioni del tipo di formato Snowflake. | • Name • Valore |
No | additionalFormatOptions |