Condividi tramite


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.

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

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.

    Screenshot che mostra altre opzioni di copia snowflake per l'origine.

  • 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.

    Screenshot che mostra opzioni di formato snowflake aggiuntive per l'origine.

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:

    1. Creare un collegamento Archiviazione Blob di Azure per l'archiviazione Blob di Azure di destinazione con qualsiasi tipo di autenticazione supportato.

    2. 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.

Screenshot che mostra la scheda Destinazione.

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.

    Screenshot che mostra altre opzioni di copia Snowflake per la destinazione.

  • 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.

    Screenshot che mostra opzioni di formato snowflake aggiuntive per la destinazione.

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:

    1. Creare un collegamento all'archiviazione Blob di Azure per l'archiviazione Blob di Azure di origine con qualsiasi tipo di autenticazione supportato.

    2. 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 /
Collegamento Collegamento all'archivio dati di origine. < collegamento personale > connection
Database Il proprio database usato come origine. < database > 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> schema
table
Query Specifica la query SQL per leggere i dati da Snowflake. < nome della propria query di origine> 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 /
Connessione Collegamento all'archivio dati di destinazione. < collegamento personale > connection
Database Database usato come destinazione. < database> /
Tabella Tabella dei dati di destinazione. < nome della tabella di destinazione> • 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