Dela via


Konfigurera Snowflake i en kopieringsaktivitet

Den här artikeln beskriver hur du använder kopieringsaktiviteten i datapipelinen för att kopiera data från och till Snowflake.

Konfiguration som stöds

För konfigurationen av varje flik under kopieringsaktivitet går du till följande avsnitt.

Allmänt

Se vägledningen allmänna inställningar för att konfigurera fliken Allmänna inställningar.

Källa

Följande egenskaper stöds för Snowflake under fliken Källa i en kopieringsaktivitet.

Skärmbild som visar källfliken och listan med egenskaper.

Följande egenskaper krävs:

  • Datalagertyp: Välj Extern.
  • Anslutning: Välj en Snowflake-anslutning i anslutningslistan. Om anslutningen inte finns skapar du en ny Snowflake-anslutning genom att välja Ny.
  • Databas: Standarddatabasen som ska användas när den är ansluten. Det bör vara en befintlig databas som den angivna rollen har behörighet för.
  • Använd fråga: Du kan välja tabell eller fråga som användningsfråga. I följande lista beskrivs konfigurationen för varje inställning.
    • Tabell: Välj tabellen i databasen i listrutan. Eller markera Redigera för att ange tabellnamnet manuellt.
    • Fråga: Ange SQL-frågan för att läsa data från Snowflake. Om namnen på schemat, tabellen och kolumnerna innehåller gemener citerar du objektidentifieraren i frågan, t.ex. select * from "schema"."myTable".

Under Avancerat kan du ange följande fält:

  • Lagringsintegrering: Ange namnet på din lagringsintegrering som du skapade i Snowflake. Nödvändiga steg för att använda lagringsintegreringen finns i Konfigurera en Snowflake-lagringsintegrering.

  • Ytterligare snowflake-kopieringsalternativ: Ange ytterligare snowflake-kopieringsalternativ som ska användas i Snowflake COPY-instruktionen för att läsa in data. Ytterligare kopieringsalternativ tillhandahålls som en ordlista med nyckel/värde-par. Exempel: MAX_FILE_SIZE, SKRIV ÖVER. Mer information finns i Snowflake-kopieringsalternativ.

    Skärmbild som visar ytterligare alternativ för snowflake-kopiering för källan.

  • Ytterligare formatalternativ för Snowflake: Ange ytterligare formatalternativ för Snowflake, som ska användas i Snowflake COPY-instruktionen för att läsa in data. Ytterligare filformatalternativ som tillhandahålls till kommandot COPY tillhandahålls som en ordlista med nyckel/värde-par. Exempel: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Mer information finns i Formattypsalternativ för Snowflake.

    Skärmbild som visar ytterligare formatalternativ för snowflake för källan.

Direktkopia från Snowflake

Om måldatalagret och formatet uppfyller kriterierna som beskrivs i det här avsnittet kan du använda aktiviteten Kopiera för att kopiera direkt från Snowflake till målet. Tjänsten kontrollerar inställningarna och misslyckas med aktiviteten Kopiera köras om följande villkor inte uppfylls:

  • När du anger Lagringsintegrering i källan: Måldatalagret är Azure Blob Storage som du hänvisade till i den externa fasen i Snowflake. Du måste utföra följande steg innan du kopierar data:

    1. Skapa en Azure Blob Storage-anslutning för Azure Blob Storage-målet med alla autentiseringstyper som stöds.

    2. Bevilja minst rollen Storage Blob Data Contributor till Tjänstens huvudnamn för Snowflake i azure bloblagringsåtkomstkontroll (IAM) som mål.

  • När du inte anger Lagringsintegrering i källan:

    Målanslutningen är Azure Blob Storage med signaturautentisering för delad åtkomst. Om du vill kopiera data direkt till Azure Data Lake Storage Gen2 i följande format som stöds kan du skapa en Azure Blob Storage-anslutning med SAS-autentisering mot ditt Azure Data Lake Storage Gen2-konto för att undvika att använda mellanlagrade kopior från Snowflake.

  • Måldataformatet är Parquet, DelimitedText eller JSON med följande konfigurationer:

    • För Parquet-format är komprimeringskodcen Ingen, Snappy eller Lzo.
    • För avgränsattextformat :
      • Radgränsare är \r\n eller ett enskilt tecken.
      • Komprimeringstypen kan vara None, gzip, bzip2 eller deflate.
      • Kodning lämnas som standard eller anges till UTF-8.
      • Citattecken är dubbelt citattecken, enkelt citattecken eller Inget citattecken.
    • För JSON-format stöder direktkopiering endast fallet att snowflake-källtabellen eller frågeresultatet bara har en enda kolumn och datatypen för den här kolumnen är VARIANT, OBJECT eller ARRAY.
      • Komprimeringstypen kan vara None, gzip, bzip2 eller deflate.
      • Kodning lämnas som standard eller anges till UTF-8.
      • Filmönstret i kopieringsaktivitetens mål är kvar som standard eller inställt på Uppsättning objekt.
  • Ytterligare kolumner har inte angetts i kopieringsaktivitetskällan.

  • Kolumnmappning har inte angetts.

Mellanlagrad kopia från Snowflake

När måldatalagret eller formatet inte är inbyggt kompatibelt med kommandot Snowflake COPY, som du nämnde i det förra avsnittet, aktiverar du den inbyggda mellanlagrade kopian med hjälp av en tillfällig Azure Blob Storage-instans. Den mellanlagrade kopieringsfunktionen ger dig också bättre dataflöde. Tjänsten exporterar data från Snowflake till mellanlagring, kopierar sedan data till målet och rensar slutligen dina tillfälliga data från mellanlagringen.

Om du vill använda den här funktionen skapar du en Azure Blob Storage-anslutning som refererar till Azure Storage-kontot som mellanlagring. Gå sedan till fliken Inställningar för att konfigurera mellanlagringsinställningarna. Du måste välja Extern för att konfigurera mellanlagringsanslutningen för Azure Blob Storage.

  • När du anger Lagringsintegrering i källan bör mellanlagringen av Azure Blob Storage vara den som du hänvisade till i den externa fasen i Snowflake. Se till att du skapar en Azure Blob Storage-anslutning för den med all autentisering som stöds och bevilja minst rollen Storage Blob Data Contributor till Snowflake-tjänstens huvudnamn i mellanlagringen av Åtkomstkontroll för Azure Blob Storage (IAM). Lagringssökvägen under Mellanlagringsinställningarfliken Inställningar krävs.

  • När du inte anger Lagringsintegrering i källan måste mellanlagringen av Azure Blob Storage-anslutningen använda signaturautentisering för delad åtkomst, vilket krävs av kommandot Snowflake COPY. Se till att du beviljar rätt åtkomstbehörighet till Snowflake i mellanlagringen av Azure Blob Storage. Mer information om detta finns i den här artikeln.

Mål

Följande egenskaper stöds för Snowflake under fliken Mål för en kopieringsaktivitet.

Skärmbild som visar fliken Mål.

Följande egenskaper krävs:

  • Datalagertyp: Välj Extern.
  • Anslutning: Välj en Snowflake-anslutning i anslutningslistan. Om anslutningen inte finns skapar du en ny Snowflake-anslutning genom att välja Ny.
  • Databas: Standarddatabasen som ska användas när den är ansluten. Det bör vara en befintlig databas som den angivna rollen har behörighet för.
  • Tabell: Välj tabellen i databasen i listrutan. Eller markera Redigera för att ange tabellnamnet manuellt.

Under Avancerat kan du ange följande fält:

  • Förkopieringsskript: Ange ett skript för kopieringsaktivitet som ska köras innan du skriver data till måltabellen i varje körning. Du kan använda den här egenskapen för att rensa inlästa data.

  • Lagringsintegrering: Ange namnet på din lagringsintegrering som du skapade i Snowflake. Nödvändiga steg för att använda lagringsintegreringen finns i Konfigurera en Snowflake-lagringsintegrering.

  • Ytterligare snowflake-kopieringsalternativ: Ange ytterligare alternativ för Snowflake-kopiering, som ska användas i Snowflake COPY-instruktionen för att läsa in data. Ytterligare kopieringsalternativ tillhandahålls som en ordlista med nyckel/värde-par. Exempel: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Mer information finns i Snowflake-kopieringsalternativ.

    Skärmbild som visar ytterligare snowflake-kopieringsalternativ för målet.

  • Ytterligare formatalternativ för Snowflake: Ange ytterligare formatalternativ för Snowflake, som ska användas i Snowflake COPY-instruktionen för att läsa in data. Ytterligare filformatalternativ som tillhandahålls till kommandot COPY tillhandahålls som en ordlista med nyckel/värde-par. Exempel: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Mer information finns i Formattypsalternativ för Snowflake.

    Skärmbild som visar ytterligare alternativ för snowflake-format för målet.

Direktkopia till Snowflake

Om källdatalagret och formatet uppfyller kriterierna som beskrivs i det här avsnittet kan du använda aktiviteten Kopiera för att kopiera direkt från källan till Snowflake. Tjänsten kontrollerar inställningarna och misslyckas med aktiviteten Kopiera köras om följande villkor inte uppfylls:

  • När du anger Lagringsintegrering i målet:

    Källdatalagret är Azure Blob Storage som du refererade till i den externa fasen i Snowflake. Du måste utföra följande steg innan du kopierar data:

    1. Skapa en Azure Blob Storage-anslutning för Azure Blob Storage-källan med alla autentiseringstyper som stöds.

    2. Bevilja minst rollen Storage Blob Data Reader till Tjänstens huvudnamn för Snowflake i azure bloblagringsåtkomstkontroll (IAM) för källan.

  • När du inte anger Lagringsintegrering i målet:

    Källanslutningen är Azure Blob Storage med signaturautentisering för delad åtkomst. Om du vill kopiera data direkt från Azure Data Lake Storage Gen2 i följande format som stöds kan du skapa en Azure Blob Storage-anslutning med SAS-autentisering mot ditt Azure Data Lake Storage Gen2-konto för att undvika att använda mellanlagrad kopia till Snowflake.

  • Källdataformatet är Parquet, DelimitedText eller JSON med följande konfigurationer:

    • För Parquet-format är komprimeringskodcen Ingen eller Snappy.

    • För avgränsattextformat :

      • Radgränsare är \r\n eller ett enskilt tecken. Om radgränsare inte är "\r\n" är den första raden som rubrik avmarkerad och Hoppa över radantal har inte angetts.
      • Komprimeringstypen kan vara None, gzip, bzip2 eller deflate.
      • Kodning lämnas som standard eller inställt på "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-89", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255".
      • Citattecken är dubbelt citattecken, enkelt citattecken eller Inget citattecken.
    • För JSON-format stöder direktkopiering endast fallet att snowflake-måltabellen bara har en enda kolumn och att datatypen för den här kolumnen är VARIANT, OBJECT eller ARRAY.

      • Komprimeringstypen kan vara None, gzip, bzip2 eller deflate.
      • Kodning lämnas som standard eller anges till UTF-8.
      • Kolumnmappning har inte angetts.
  • I aktiviteten Kopiera källa:

    • Ytterligare kolumner har inte angetts.
    • Om källan är en mapp väljs Rekursivt .
    • Prefix, Starttid (UTC) och Sluttid (UTC) i Filtrera efter senast ändrad och Aktivera partitionsidentifiering har inte angetts.

Mellanlagrad kopia till Snowflake

När ditt källdatalager eller -format inte är inbyggt kompatibelt med kommandot Snowflake COPY, som du nämnde i det förra avsnittet, aktiverar du den inbyggda mellanlagrade kopian med hjälp av en tillfällig Azure Blob Storage-instans. Den mellanlagrade kopieringsfunktionen ger dig också bättre dataflöde. Tjänsten konverterar automatiskt data för att uppfylla dataformatkraven för Snowflake. Sedan anropas COPY-kommandot för att läsa in data till Snowflake. Slutligen rensas dina tillfälliga data från bloblagringen.

Om du vill använda den här funktionen skapar du en Azure Blob Storage-anslutning som refererar till Azure Storage-kontot som mellanlagring. Gå sedan till fliken Inställningar för att konfigurera mellanlagringsinställningarna. Du måste välja Extern för att konfigurera mellanlagringsanslutningen för Azure Blob Storage.

  • När du anger Lagringsintegrering i målet bör mellanlagringen av Azure Blob Storage vara den som du hänvisade till i den externa fasen i Snowflake. Se till att du skapar en Azure Blob Storage-anslutning för den med all autentisering som stöds och bevilja minst rollen Storage Blob Data Reader till Snowflake-tjänstens huvudnamn i mellanlagringen av Åtkomstkontroll för Azure Blob Storage (IAM). Lagringssökvägen under Mellanlagringsinställningarfliken Inställningar krävs.

  • När du inte anger Lagringsintegrering i målet måste mellanlagringen av Azure Blob Storage-anslutningen använda signaturautentisering för delad åtkomst enligt vad som krävs av kommandot Snowflake COPY.

Mappning

För Konfiguration av fliken Mappning går du till Konfigurera dina mappningar under mappningsfliken.

Inställningar

För Inställningsflikskonfiguration går du till Konfigurera dina andra inställningar under fliken Inställningar.

Tabellsammanfattning

Följande tabeller innehåller mer information om kopieringsaktiviteten i Snowflake.

Källa

Name Beskrivning Värde Obligatoriskt JSON-skriptegenskap
Typ av datalager Din datalagertyp. Externt Ja /
Anslutning Din anslutning till källdatalagret. < din anslutning > Ja anslutning
Databas Din databas som du använder som källa. < din databas > Ja database
Använda fråga Sättet att läsa data från Snowflake. •Bord
•Fråga
Nej •bord
•fråga
Tabell Namnet på tabellen som ska läsa data. < namnet på källtabellen> Ja Schemat
table
Fråga SQL-frågan för att läsa data från Snowflake. < namnet på källfrågan> Ja query
Lagringsintegrering Ange namnet på din lagringsintegrering som du skapade i Snowflake. Nödvändiga steg för att använda lagringsintegreringen finns i Konfigurera en Snowflake-lagringsintegrering. < din lagringsintegrering > Nej storageIntegration
Ytterligare alternativ för Snowflake-kopiering Ytterligare kopieringsalternativ tillhandahålls som en ordlista med nyckel/värde-par. Exempel: MAX_FILE_SIZE, SKRIV ÖVER. Mer information finns i Snowflake-kopieringsalternativ. • Namn
•Värde
Nej additionalCopyOptions
Ytterligare formatalternativ för Snowflake Ytterligare filformatalternativ som tillhandahålls för kommandot COPY som en ordlista med nyckel/värde-par. Exempel: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Mer information finns i Formattypsalternativ för Snowflake. • Namn
•Värde
Nej additionalFormatOptions

Mål

Kommentar

Instanser som inte är Azure Snowflake stöds för källan, men endast Azure Snowflake-instanser stöds för närvarande för Snowflake-destinationer (kallas även mottagare i Azure Data Factory).

Name Beskrivning Värde Obligatoriskt JSON-skriptegenskap
Typ av datalager Din datalagertyp. Externt Ja /
Anslutning Din anslutning till måldatalagret. < din anslutning > Ja anslutning
Databas Din databas som du använder som mål. < din databas> Ja /
Tabell Måldatatabellen. < namn på måltabellen> Ja •Schemat
•bord
Förkopieringsskript En SQL-fråga för aktiviteten Kopiera att köra innan du skriver data till Snowflake i varje körning. Använd den här egenskapen för att rensa inlästa data. < ditt förkopieringsskript> NEJ preCopyScript
Lagringsintegrering Ange namnet på din lagringsintegrering som du skapade i Snowflake. Nödvändiga steg för att använda lagringsintegreringen finns i Konfigurera en Snowflake-lagringsintegrering. < din lagringsintegrering > Nej storageIntegration
Ytterligare alternativ för Snowflake-kopiering Ytterligare kopieringsalternativ tillhandahålls som en ordlista med nyckel/värde-par. Exempel: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Mer information finns i Snowflake-kopieringsalternativ. • Namn
•Värde
Nej additionalCopyOptions
Ytterligare formatalternativ för Snowflake Ytterligare filformatalternativ som tillhandahålls till kommandot COPY, som tillhandahålls som en ordlista med nyckel/värde-par. Exempel: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Mer information finns i Formattypsalternativ för Snowflake. • Namn
•Värde
Nej additionalFormatOptions