Konfigurer Snowflake i en kopiaktivitet
I denne artikel beskrives det, hvordan du bruger kopiaktiviteten i datapipeline til at kopiere data fra og til Snowflake.
Understøttet konfiguration
Hvis du vil konfigurere hver fane under kopiaktivitet, skal du gå til henholdsvis følgende afsnit.
Generelt
Se vejledningen til generelle indstillinger for at konfigurere fanen Generelle indstillinger.
Kilde
Følgende egenskaber understøttes for Snowflake under fanen Kilde for en kopiaktivitet.
Følgende egenskaber er påkrævet:
- Datalagertype: Vælg ekstern.
- Forbindelse: Vælg en Snowflake-forbindelse på forbindelseslisten. Hvis forbindelsen ikke findes, skal du oprette en ny Snowflake-forbindelse ved at vælge Ny.
- Database: Standarddatabasen, der skal bruges, når der er oprettet forbindelse. Det skal være en eksisterende database, som den angivne rolle har rettigheder til.
- Brug forespørgsel: Du kan vælge enten Tabel eller Forespørgsel som din brugsforespørgsel . På følgende liste beskrives konfigurationen af hver indstilling.
- Tabel: Vælg tabellen i databasen på rullelisten. Eller markér Rediger for at angive tabelnavnet manuelt.
- Forespørgsel: Angiv SQL-forespørgslen for at læse data fra Snowflake. Hvis navnene på skemaet, tabellen og kolonnerne indeholder små bogstaver, skal du citere objekt-id'et i forespørgslen, f.eks.
select * from "schema"."myTable"
.
Under Avanceret kan du angive følgende felter:
Lagerintegration: Angiv navnet på din lagerintegration, som du oprettede i Snowflake. Du kan finde de nødvendige trin til brug af lagerintegration under Konfiguration af en Snowflake-lagerintegration.
Yderligere indstillinger for Snowflake-kopiering: Angiv yderligere indstillinger for Snowflake-kopiering, som skal bruges i Snowflake COPY-sætningen til at indlæse data. Der er angivet flere kopieringsindstillinger som en ordbog over nøgleværdipar. Eksempler: MAX_FILE_SIZE, OVERWRITE. Du kan få flere oplysninger under Kopieringsindstillinger for Snowflake.
Yderligere indstillinger for Snowflake-format: Angiv yderligere indstillinger for Snowflake-format, som skal bruges i Snowflake COPY-sætningen til at indlæse data. Yderligere filformatindstillinger, der er angivet til kommandoen COPY, angives som en ordbog med nøgleværdipar. Eksempler: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Du kan få flere oplysninger under Indstillinger for Snowflake-formattype.
Direkte kopi fra Snowflake
Hvis dit destinationsdatalager og -format opfylder de kriterier, der er beskrevet i dette afsnit, kan du bruge aktiviteten Kopiér til at kopiere direkte fra Snowflake til destinationen. Tjenesten kontrollerer indstillingerne og kan ikke køre kopiaktiviteten, hvis følgende kriterier ikke er opfyldt:
Når du angiver lagerintegration i kilden: Destinationsdatalageret er Azure Blob Storage, som du henviste til i den eksterne fase i Snowflake. Du skal udføre følgende trin, før du kopierer data:
Opret en Azure Blob Storage-forbindelse til destinationen Azure Blob Storage med alle understøttede godkendelsestyper.
Tildel mindst rollen Lager-Blob Data Contributor til Snowflake-tjenesteprincipalen i destinationen Azure Blob Storage Access Control (IAM).
Når du ikke angiver lagerintegration i kilden:
Destinationsforbindelsen er Azure Blob Storage med godkendelse af signatur for delt adgang. Hvis du vil kopiere data direkte til Azure Data Lake Storage Gen2 i følgende understøttede format, kan du oprette en Azure Blob Storage-forbindelse med SAS-godkendelse i forhold til din Azure Data Lake Storage Gen2-konto for at undgå at bruge faseindspillede kopier fra Snowflake.
Destinationsdataformatet er Parquet, DelimitedText eller JSON med følgende konfigurationer:
- For Parquet-format er komprimeringscodec'en Ingen, Snappy eller Lzo.
- For afgrænset tekstformat :
- Rækkeafgrænseren er \r\n eller et vilkårligt enkelt tegn.
- Komprimeringstypen kan være None, gzip, bzip2 eller deflate.
- Kodning er tilbage som standard eller indstillet til UTF-8.
- Anførselstegn er Dobbelt anførselstegn, Enkelt anførselstegn eller Intet anførselstegn.
- I JSON-format understøtter direkte kopiering kun det tilfælde, at kilden Snowflake-tabellen eller forespørgselsresultatet kun har en enkelt kolonne, og datatypen for denne kolonne er VARIANT, OBJECT eller ARRAY.
- Komprimeringstypen kan være None, gzip, bzip2 eller deflate.
- Kodning er tilbage som standard eller indstillet til UTF-8.
- Filmønsteret i kopiaktivitetsdestinationen er tilbage som standard eller angivet til Sæt af objekter.
Der er ikke angivet flere kolonner i kopiaktivitetskilden.
Kolonnetilknytning er ikke angivet.
Iscenesat kopi fra Snowflake
Når dit destinationsdatalager eller -format ikke er indbygget kompatibelt med kommandoen Snowflake COPY, som nævnt i sidste afsnit, skal du aktivere den indbyggede fasede kopi ved hjælp af en midlertidig Forekomst af Azure Blob Storage. Funktionen til trinvis kopiering giver dig også en bedre gennemløb. Tjenesten eksporterer data fra Snowflake til et midlertidigt lager, kopierer derefter dataene til destinationen og rydder til sidst op i dine midlertidige data fra det midlertidige lager.
Hvis du vil bruge denne funktion, skal du oprette en Azure Blob Storage-forbindelse , der refererer til Azure Storage-kontoen som midlertidig midlertidig lagring. Gå derefter til fanen Indstillinger for at konfigurere dine indstillinger for midlertidig lagring. Du skal vælge Ekstern for at konfigurere den midlertidige Azure Blob Storage-forbindelse.
Når du angiver lagerintegration i kilden, skal den midlertidige midlertidige Azure Blob Storage være den, du henviste til i den eksterne fase i Snowflake. Sørg for, at du opretter en Azure Blob Storage-forbindelse til den med en hvilken som helst understøttet godkendelse, og tildel mindst rollen Lager-Blob Data Contributor til Snowflake-tjenesteprincipalen i den midlertidige Azure Blob Storage Access Control (IAM). Stien til lagring under Indstillinger for midlertidig lagring under fanen Indstillinger er påkrævet.
Når du ikke angiver lagerintegration i kilden, skal den midlertidige Azure Blob Storage-forbindelse bruge godkendelse af delt adgangssignatur som krævet af kommandoen Snowflake COPY. Sørg for at give korrekt adgangstilladelse til Snowflake i den midlertidige Azure Blob Storage. Du kan få mere at vide om dette i denne artikel.
Destination
Følgende egenskaber understøttes for Snowflake under fanen Destination for en kopiaktivitet.
Følgende egenskaber er påkrævet:
- Datalagertype: Vælg ekstern.
- Forbindelse: Vælg en Snowflake-forbindelse på forbindelseslisten. Hvis forbindelsen ikke findes, skal du oprette en ny Snowflake-forbindelse ved at vælge Ny.
- Database: Standarddatabasen, der skal bruges, når der er oprettet forbindelse. Det skal være en eksisterende database, som den angivne rolle har rettigheder til.
- Tabel: Vælg tabellen i databasen på rullelisten. Eller markér Rediger for at angive tabelnavnet manuelt.
Under Avanceret kan du angive følgende felter:
Forudkopieringsscript: Angiv et script for Kopiér aktivitet, der skal udføres, før du skriver data til destinationstabellen i hver kørsel. Du kan bruge denne egenskab til at rydde op i forudindlæste data.
Lagerintegration: Angiv navnet på din lagerintegration, som du oprettede i Snowflake. Du kan finde de nødvendige trin til brug af lagerintegration under Konfiguration af en Snowflake-lagerintegration.
Flere indstillinger for Snowflake-kopiering: Angiv yderligere indstillinger for Snowflake-kopiering, som skal bruges i Snowflake COPY-sætningen til at indlæse data. Der er angivet flere kopieringsindstillinger som en ordbog over nøgleværdipar. Eksempler: ON_ERROR, FORCE LOAD_UNCERTAIN_FILES. Du kan få flere oplysninger under Kopieringsindstillinger for Snowflake.
Yderligere indstillinger for Snowflake-format: Angiv yderligere indstillinger for Snowflake-format, som skal bruges i Snowflake COPY-sætningen til at indlæse data. Yderligere filformatindstillinger, der er angivet til kommandoen COPY, angives som en ordbog med nøgleværdipar. Eksempler: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Du kan få flere oplysninger under Indstillinger for Snowflake-formattype.
Direkte kopi til Snowflake
Hvis dit kildedatalager og -format opfylder de kriterier, der er beskrevet i dette afsnit, kan du bruge aktiviteten Kopiér til at kopiere direkte fra kilden til Snowflake. Tjenesten kontrollerer indstillingerne og kan ikke køre kopiaktiviteten, hvis følgende kriterier ikke er opfyldt:
Når du angiver lagerintegration i destinationen:
Kildedatalageret er Azure Blob Storage, som du henviste til i den eksterne fase i Snowflake. Du skal udføre følgende trin, før du kopierer data:
Opret en Azure Blob Storage-forbindelse til kilden Azure Blob Storage med alle understøttede godkendelsestyper.
Tildel mindst rollen Lagerblobdatalæser til Snowflake-tjenesteprincipalen i kilden Azure Blob Storage Access Control (IAM).
Når du ikke angiver lagerintegration i destinationen:
Kildeforbindelsen er Azure Blob Storage med godkendelse af signatur for delt adgang. Hvis du vil kopiere data direkte fra Azure Data Lake Storage Gen2 i følgende understøttede format, kan du oprette en Azure Blob Storage-forbindelse med SAS-godkendelse i forhold til din Azure Data Lake Storage Gen2-konto for at undgå at bruge faseindgået kopi til Snowflake.
Kildedataformatet er Parquet, DelimitedText eller JSON med følgende konfigurationer:
For Parquet-format er komprimeringscodec ingen eller Snappy.
For afgrænset tekstformat :
- Rækkeafgrænseren er \r\n eller et vilkårligt enkelt tegn. Hvis rækkeafgrænseren ikke er "\r\n", er den første række som overskrift ikke markeret, og antallet af spring linjer er ikke angivet.
- Komprimeringstypen kan være None, gzip, bzip2 eller deflate.
- Kodning er tilbage som standard eller indstillet til "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".
- Anførselstegn er Dobbelt anførselstegn, Enkelt anførselstegn eller Intet anførselstegn.
I JSON-format understøtter direkte kopiering kun det tilfælde, at destinationstabellen Snowflake kun har én kolonne, og datatypen for denne kolonne er VARIANT, OBJECT eller ARRAY.
- Komprimeringstypen kan være None, gzip, bzip2 eller deflate.
- Kodning er tilbage som standard eller indstillet til UTF-8.
- Kolonnetilknytning er ikke angivet.
I kilde til kopiering af aktivitet:
- Der er ikke angivet flere kolonner .
- Hvis din kilde er en mappe, vælges Rekursivt .
- Præfiks, Starttidspunkt (UTC) og Sluttidspunkt (UTC) i Filtrer efter senest ændret og Aktivér registrering af partition er ikke angivet.
Iscenesat kopi til Snowflake
Når dit kildedatalager eller -format ikke er indbygget kompatibelt med kommandoen Snowflake COPY, som nævnt i sidste afsnit, skal du aktivere den indbyggede fasede kopi ved hjælp af en midlertidig Forekomst af Azure Blob Storage. Funktionen til trinvis kopiering giver dig også en bedre gennemløb. Tjenesten konverterer automatisk dataene, så de opfylder kravene til dataformat i Snowflake. Derefter aktiveres kommandoen COPY for at indlæse data i Snowflake. Til sidst rydder den op i dine midlertidige data fra bloblageret.
Hvis du vil bruge denne funktion, skal du oprette en Azure Blob Storage-forbindelse , der refererer til Azure Storage-kontoen som midlertidig midlertidig lagring. Gå derefter til fanen Indstillinger for at konfigurere dine indstillinger for midlertidig lagring. Du skal vælge Ekstern for at konfigurere den midlertidige Azure Blob Storage-forbindelse.
Når du angiver lagerintegration i destinationen, skal den midlertidige midlertidige azure Blob Storage være den, du henviste til i den eksterne fase i Snowflake. Sørg for, at du opretter en Azure Blob Storage-forbindelse til den med en hvilken som helst understøttet godkendelse, og tildel mindst rollen Lager-Blob DataLæser til Snowflake-tjenesteprincipalen i den midlertidige Azure Blob Storage Access Control (IAM). Stien til lagring under Indstillinger for midlertidig lagring under fanen Indstillinger er påkrævet.
Når du ikke angiver lagerintegration i destinationen, skal azure Blob Storage-forbindelsen til den midlertidige azure-forbindelse bruge godkendelse af delt adgangssignatur som påkrævet af kommandoen Snowflake COPY.
Tilknytning
For Konfiguration af fanen Tilknytning skal du gå til Konfigurer dine tilknytninger under fanen Tilknytning.
Indstillinger
For Konfiguration af fanen Indstillinger skal du gå til Konfigurer dine andre indstillinger under fanen Indstillinger.
Tabeloversigt
Følgende tabeller indeholder flere oplysninger om kopiaktiviteten i Snowflake.
Kilde
Navn | Beskrivelse | Værdi | Obligatorisk | JSON-scriptegenskab |
---|---|---|---|---|
Datalagertype | Datalagertypen. | Eksternt | Ja | / |
Forbindelse | Din forbindelse til kildedatalageret. | < din forbindelse > | Ja | forbindelse |
Database | Den database, du bruger som kilde. | < din database > | Ja | database |
Brug forespørgsel | Måden at læse data fra Snowflake på. | •Bord •Forespørgsel |
Nr. | •bord •forespørgsel |
Tabel | Navnet på den tabel, der skal læse data. | < navnet på kildetabellen> | Ja | skema table |
Forespørgsel | SQL-forespørgslen til læsning af data fra Snowflake. | < navnet på kildeforespørgslen> | Ja | query |
Lagerintegration | Angiv navnet på din lagerintegration, som du oprettede i Snowflake. Du kan finde de nødvendige trin til brug af lagerintegration under Konfiguration af en Snowflake-lagerintegration. | < din lagerintegration > | Nr. | storageIntegration |
Yderligere indstillinger for Snowflake-kopiering | Yderligere kopieringsindstillinger, der er angivet som en ordbog over nøgleværdipar. Eksempler: MAX_FILE_SIZE, OVERWRITE. Du kan få flere oplysninger under Kopieringsindstillinger for Snowflake. | • Navn •Værdi |
Nr. | additionalCopyOptions |
Yderligere indstillinger for Snowflake-format | Yderligere filformatindstillinger, der er angivet til kommandoen COPY som en ordbog med nøgleværdipar. Eksempler: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Du kan få flere oplysninger under Indstillinger for Snowflake-formattype. | • Navn •Værdi |
Nr. | additionalFormatOptions |
Destination
Bemærk
Selvom ikke-Azure Snowflake-forekomster understøttes for kilde, er det i øjeblikket kun Azure Snowflake-forekomster, der understøttes for Snowflake-destinationer (også kaldet vaske i Azure Data Factory).
Navn | Beskrivelse | Værdi | Obligatorisk | JSON-scriptegenskab |
---|---|---|---|---|
Datalagertype | Datalagertypen. | Eksternt | Ja | / |
Forbindelse | Din forbindelse til destinationsdatalageret. | < din forbindelse > | Ja | forbindelse |
Database | Den database, du bruger som destination. | < din database> | Ja | / |
Tabel | Din destinationsdatatabel. | < navnet på destinationstabellen> | Ja | •skema •bord |
Forudkopieringsscript | En SQL-forespørgsel for den kopiaktivitet, der skal køres, før der skrives data til Snowflake i hver kørsel. Brug denne egenskab til at rydde op i forudindlæste data. | < dit script til forhåndskopiering> | NEJ | preCopyScript |
Lagerintegration | Angiv navnet på din lagerintegration, som du oprettede i Snowflake. Du kan finde de nødvendige trin til brug af lagerintegration under Konfiguration af en Snowflake-lagerintegration. | < din lagerintegration > | Nr. | storageIntegration |
Yderligere indstillinger for Snowflake-kopiering | Yderligere kopieringsindstillinger, der er angivet som en ordbog over nøgleværdipar. Eksempler: ON_ERROR, FORCE LOAD_UNCERTAIN_FILES. Du kan få flere oplysninger under Kopieringsindstillinger for Snowflake. | • Navn •Værdi |
Nr. | additionalCopyOptions |
Yderligere indstillinger for Snowflake-format | Yderligere filformatindstillinger, der er angivet til kommandoen COPY, som er angivet som en ordbog med nøgleværdipar. Eksempler: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Du kan få flere oplysninger under Indstillinger for Snowflake-formattype. | • Navn •Værdi |
Nr. | additionalFormatOptions |