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.
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.
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.
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:
Skapa en Azure Blob Storage-anslutning för Azure Blob Storage-målet med alla autentiseringstyper som stöds.
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ällningar på fliken 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.
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.
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.
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:
Skapa en Azure Blob Storage-anslutning för Azure Blob Storage-källan med alla autentiseringstyper som stöds.
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ällningar på fliken 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 |