Share via


Snowflake configureren in een kopieeractiviteit

In dit artikel wordt beschreven hoe u de kopieeractiviteit in de gegevenspijplijn gebruikt om gegevens van en naar Snowflake te kopiëren.

Ondersteunde configuratie

Voor de configuratie van elk tabblad onder kopieeractiviteit gaat u respectievelijk naar de volgende secties.

Algemeen

Raadpleeg de richtlijnen voor algemene instellingen voor het configureren van het tabblad Algemene instellingen.

Bron

De volgende eigenschappen worden ondersteund voor Snowflake op het tabblad Bron van een kopieeractiviteit.

Schermopname van het brontabblad en de lijst met eigenschappen.

De volgende eigenschappen zijn vereist:

  • Gegevensarchieftype: Selecteer Extern.
  • Verbinding: Selecteer een Snowflake-verbinding in de lijst met verbindingen. Als de verbinding niet bestaat, maakt u een nieuwe Snowflake-verbinding door Nieuw te selecteren.
  • Database: de standaarddatabase die moet worden gebruikt zodra er verbinding is gemaakt. Dit moet een bestaande database zijn waarvoor de opgegeven rol bevoegdheden heeft.
  • Query gebruiken: u kunt tabel of query kiezen als uw gebruiksquery. In de volgende lijst wordt de configuratie van elke instelling beschreven.
    • Tabel: Selecteer de tabel in uw database in de vervolgkeuzelijst. Of schakel Bewerken in om de tabelnaam handmatig in te voeren.
    • Query: Geef de SQL-query op om gegevens uit Snowflake te lezen. Als de namen van het schema, de tabel en de kolommen kleine letters bevatten, noemt u de object-id in de query, bijvoorbeeld select * from "schema"."myTable".

Onder Geavanceerd kunt u de volgende velden opgeven:

  • Opslagintegratie: Geef de naam op van uw opslagintegratie die u in Snowflake hebt gemaakt. Zie Een Snowflake-opslagintegratie configureren voor de vereiste stappen voor het gebruik van de opslagintegratie.

  • Aanvullende opties voor het kopiëren van Snowflake: geef extra opties voor Snowflake-kopie op die worden gebruikt in de Instructie Snowflake COPY om gegevens te laden. Aanvullende kopieeropties worden geleverd als een woordenlijst met sleutel-waardeparen. Voorbeelden: MAX_FILE_SIZE, OVERSCHRIJVEN. Zie Snowflake Copy Options voor meer informatie.

    Schermopname met aanvullende opties voor het kopiëren van snowflake voor bron.

  • Aanvullende opties voor snowflake-indeling: geef extra opties voor Snowflake-indeling op, die worden gebruikt in de Instructie Snowflake COPY om gegevens te laden. Aanvullende bestandsindelingsopties die voor de opdracht COPY worden opgegeven, worden geleverd als een woordenlijst van sleutel-waardeparen. Voorbeelden: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Zie Opties voor het type type Snowflake-indeling voor meer informatie.

    Schermopname met aanvullende opties voor snowflake-indeling voor bron.

Directe kopie van Snowflake

Als uw doelgegevensarchief en -indeling voldoen aan de criteria die in deze sectie worden beschreven, kunt u de Copy-activiteit gebruiken om rechtstreeks van Snowflake naar bestemming te kopiëren. De service controleert de instellingen en mislukt de Copy-activiteit wordt uitgevoerd als niet aan de volgende criteria wordt voldaan:

  • Wanneer u Opslagintegratie opgeeft in de bron: het doelgegevensarchief is de Azure Blob Storage die u in de externe fase in Snowflake hebt genoemd. U moet de volgende stappen uitvoeren voordat u gegevens kopieert:

    1. Maak een Azure Blob Storage-verbinding voor de doel-Azure Blob Storage met alle ondersteunde verificatietypen.

    2. Verdeel ten minste de rol Opslagblobgegevensbijdrager aan de Snowflake-service-principal in het doeltoegangsbeheer voor Azure Blob Storage (IAM).

  • Wanneer u opslagintegratie niet opgeeft in de bron:

    De doelverbinding is Azure Blob Storage met shared access Signature-verificatie . Als u gegevens rechtstreeks wilt kopiëren naar Azure Data Lake Storage Gen2 in de volgende ondersteunde indeling, kunt u een Azure Blob Storage-verbinding met SAS-verificatie maken voor uw Azure Data Lake Storage Gen2-account om gefaseerde kopie uit Snowflake te voorkomen.

  • De doelgegevensindeling is van Parquet, DelimitedText of JSON met de volgende configuraties:

    • Voor Parquet-indeling is de compressiecodec Geen, Snappy of Lzo.
    • Voor DelimitedText-indeling :
      • Rijscheidingsteken is \r\n of een willekeurig teken.
      • Het compressietype kan Geen, gzip, bzip2 of deflate zijn.
      • Codering blijft standaard staan of is ingesteld op UTF-8.
      • Aanhalingsteken is dubbele aanhalingsteken, enkele aanhalingsteken of geen aanhalingsteken.
    • Voor JSON-indeling ondersteunt direct kopiëren alleen het geval dat de snowflake-brontabel of het queryresultaat slechts één kolom heeft en het gegevenstype van deze kolom VARIANT, OBJECT of MATRIX is.
      • Het compressietype kan Geen, gzip, bzip2 of deflate zijn.
      • Codering blijft standaard staan of is ingesteld op UTF-8.
      • Het bestandspatroon in het doel van de kopieeractiviteit blijft standaard staan of is ingesteld op Set objecten.
  • In de bron van de kopieeractiviteit worden geen aanvullende kolommen opgegeven.

  • Kolomtoewijzing is niet opgegeven.

Gefaseerde kopie van Snowflake

Wanneer uw doelgegevensarchief of -indeling niet systeemeigen compatibel is met de opdracht Snowflake COPY, zoals vermeld in de laatste sectie, schakelt u de ingebouwde gefaseerde kopie in met behulp van een tussentijdse Instantie van Azure Blob Storage. De functie voor gefaseerde kopie biedt u ook een betere doorvoer. De service exporteert gegevens uit Snowflake naar faseringsopslag, kopieert vervolgens de gegevens naar de bestemming en schoont ten slotte uw tijdelijke gegevens op uit de faseringsopslag.

Als u deze functie wilt gebruiken, maakt u een Azure Blob Storage-verbinding die verwijst naar het Azure-opslagaccount als tijdelijke fasering. Ga vervolgens naar het tabblad Instellingen om uw faseringsinstellingen te configureren. U moet Extern selecteren om de faseringsverbinding van Azure Blob Storage te configureren.

  • Wanneer u Opslagintegratie in de bron opgeeft, moet de tijdelijke fasering van Azure Blob Storage het tijdelijke faseringstype zijn dat u in de externe fase in Snowflake hebt verwezen. Zorg ervoor dat u een Azure Blob Storage-verbinding voor deze verbinding met ondersteunde verificatie maakt en ten minste de rol Opslagblobgegevensbijdrager verleent aan de Snowflake-service-principal in het faseringsbeheer voor Azure Blob Storage-toegangsbeheer (IAM). Het opslagpad onder Faseringsinstellingen op het tabblad Instellingen is vereist.

  • Wanneer u geen opslagintegratie opgeeft in de bron, moet de faseringsverbinding van Azure Blob Storage gebruikmaken van shared access Signature-verificatie, zoals vereist door de opdracht Snowflake COPY. Zorg ervoor dat u de juiste toegangsmachtigingen verleent aan Snowflake in de fasering van Azure Blob Storage. Zie dit artikel voor meer informatie.

Bestemming

De volgende eigenschappen worden ondersteund voor Snowflake op het tabblad Bestemming van een kopieeractiviteit.

Schermopname van het tabblad Bestemming.

De volgende eigenschappen zijn vereist:

  • Gegevensarchieftype: Selecteer Extern.
  • Verbinding: Selecteer een Snowflake-verbinding in de lijst met verbindingen. Als de verbinding niet bestaat, maakt u een nieuwe Snowflake-verbinding door Nieuw te selecteren.
  • Database: de standaarddatabase die moet worden gebruikt zodra er verbinding is gemaakt. Dit moet een bestaande database zijn waarvoor de opgegeven rol bevoegdheden heeft.
  • Tabel: Selecteer de tabel in uw database in de vervolgkeuzelijst. Of schakel Bewerken in om de tabelnaam handmatig in te voeren.

Onder Geavanceerd kunt u de volgende velden opgeven:

  • Script vooraf kopiëren: geef een script op dat moet worden uitgevoerd voor kopieeractiviteit voordat u in elke uitvoering gegevens naar de doeltabel schrijft. U kunt deze eigenschap gebruiken om de vooraf geladen gegevens op te schonen.

  • Opslagintegratie: Geef de naam op van uw opslagintegratie die u in Snowflake hebt gemaakt. Zie Een Snowflake-opslagintegratie configureren voor de vereiste stappen voor het gebruik van de opslagintegratie.

  • Aanvullende opties voor Het kopiëren van Snowflake: geef aanvullende opties voor Snowflake-kopie op, die worden gebruikt in de instructie Snowflake COPY om gegevens te laden. Aanvullende kopieeropties worden geleverd als een woordenlijst met sleutel-waardeparen. Voorbeelden: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Zie Snowflake Copy Options voor meer informatie.

    Schermopname met aanvullende opties voor het kopiëren van sneeuwvlok voor bestemming.

  • Aanvullende opties voor snowflake-indeling: geef extra opties voor Snowflake-indeling op, die worden gebruikt in de Instructie Snowflake COPY om gegevens te laden. Aanvullende bestandsindelingsopties die voor de opdracht COPY worden opgegeven, worden geleverd als een woordenlijst van sleutel-waardeparen. Voorbeelden: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Zie Opties voor het type type Snowflake-indeling voor meer informatie.

    Schermopname met extra opties voor snowflake-indeling voor bestemming.

Directe kopie naar Snowflake

Als uw brongegevensarchief en -indeling voldoen aan de criteria die in deze sectie worden beschreven, kunt u de Copy-activiteit gebruiken om rechtstreeks van bron naar Snowflake te kopiëren. De service controleert de instellingen en mislukt de Copy-activiteit wordt uitgevoerd als niet aan de volgende criteria wordt voldaan:

  • Wanneer u Opslagintegratie opgeeft in de bestemming:

    Het brongegevensarchief is de Azure Blob Storage waarnaar u in de externe fase in Snowflake hebt verwezen. U moet de volgende stappen uitvoeren voordat u gegevens kopieert:

    1. Maak een Azure Blob Storage-verbinding voor de Azure Blob Storage-bron met ondersteunde verificatietypen.

    2. Verdeel ten minste de rol opslagblobgegevenslezer toe aan de Snowflake-service-principal in het azure-brontoegangsbeheer voor Azure Blob Storage (IAM).

  • Wanneer u geen opslagintegratie opgeeft in de bestemming:

    De bronverbinding is Azure Blob Storage met handtekeningverificatie voor gedeelde toegang. Als u gegevens rechtstreeks vanuit Azure Data Lake Storage Gen2 wilt kopiëren in de volgende ondersteunde indeling, kunt u een Azure Blob Storage-verbinding met SAS-verificatie maken voor uw Azure Data Lake Storage Gen2-account om gefaseerde kopie naar Snowflake te voorkomen.

  • De brongegevensindeling is Parquet, DelimitedText of JSON met de volgende configuraties:

    • Voor Parquet-indeling is de compressiecodec Geen of Snappy.

    • Voor DelimitedText-indeling :

      • Rijscheidingsteken is \r\n of een willekeurig teken. Als het scheidingsteken voor rijen niet '\r\n' is, wordt de eerste rij als veldnamen niet geselecteerd en wordt het aantal regels overslaan niet opgegeven.
      • Het compressietype kan Geen, gzip, bzip2 of deflate zijn.
      • Codering blijft standaard staan of is ingesteld op '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".
      • Aanhalingsteken is dubbele aanhalingsteken, enkele aanhalingsteken of geen aanhalingsteken.
    • Voor JSON-indeling ondersteunt direct kopiëren alleen het geval dat de snowflake-doeltabel slechts één kolom heeft en het gegevenstype van deze kolom VARIANT, OBJECT of MATRIX is.

      • Het compressietype kan Geen, gzip, bzip2 of deflate zijn.
      • Codering blijft standaard staan of is ingesteld op UTF-8.
      • Kolomtoewijzing is niet opgegeven.
  • In de Copy-activiteit bron:

    • Er zijn geen extra kolommen opgegeven.
    • Als uw bron een map is, wordt Recursief geselecteerd.
    • Voorvoegsel, begintijd (UTC) en eindtijd (UTC) in Filter op laatst gewijzigd en Partitiedetectie inschakelen zijn niet opgegeven.

Gefaseerde kopie naar Snowflake

Wanneer uw brongegevensarchief of -indeling niet systeemeigen compatibel is met de opdracht Snowflake COPY, zoals vermeld in de laatste sectie, schakelt u de ingebouwde gefaseerde kopie in met behulp van een tussentijdse Instantie van Azure Blob Storage. De functie voor gefaseerde kopie biedt u ook een betere doorvoer. De service converteert de gegevens automatisch om te voldoen aan de vereisten voor gegevensindeling van Snowflake. Vervolgens wordt de opdracht COPY aangeroepen om gegevens in Snowflake te laden. Ten slotte worden uw tijdelijke gegevens uit de blobopslag opgeschoond.

Als u deze functie wilt gebruiken, maakt u een Azure Blob Storage-verbinding die verwijst naar het Azure-opslagaccount als tijdelijke fasering. Ga vervolgens naar het tabblad Instellingen om uw faseringsinstellingen te configureren. U moet Extern selecteren om de faseringsverbinding van Azure Blob Storage te configureren.

  • Wanneer u opslagintegratie opgeeft in de bestemming, moet de tijdelijke fasering van Azure Blob Storage het tijdelijke faseringstype zijn dat u in de externe fase in Snowflake hebt verwezen. Zorg ervoor dat u een Azure Blob Storage-verbinding voor deze verbinding met ondersteunde verificatie maakt en ten minste de rol Storage Blob Data Reader verleent aan de Snowflake-service-principal in het faseringsbeheer voor Azure Blob Storage-toegangsbeheer (IAM).a0> Het opslagpad onder Faseringsinstellingen op het tabblad Instellingen is vereist.

  • Wanneer u geen opslagintegratie opgeeft in de bestemming, moet de faseringsverbinding van Azure Blob Storage gebruikmaken van shared access Signature-verificatie zoals vereist door de snowflake COPY-opdracht.

Toewijzing

Voor de configuratie van het tabblad Toewijzing gaat u naar De toewijzingen configureren onder het tabblad Toewijzing.

Instellingen

Ga voor de configuratie van het tabblad Instellingen naar Uw andere instellingen configureren op het tabblad Instellingen.

Tabelsamenvatting

De volgende tabellen bevatten meer informatie over de kopieeractiviteit in Snowflake.

Bron

Name Beschrijving Waarde Vereist JSON-scripteigenschap
Gegevensarchieftype Het gegevensarchieftype. Extern Ja /
Verbinding Uw verbinding met het brongegevensarchief. < uw verbinding > Ja verbinding
Database Uw database die u als bron gebruikt. < uw database > Ja database
Query gebruiken De manier om gegevens uit Snowflake te lezen. •Tafel
•Vraag
Nee •tafel
•vraag
Tabel De naam van de tabel om gegevens te lezen. < naam van de brontabel> Ja schema
table
Query De SQL-query voor het lezen van gegevens uit Snowflake. < naam van de bronquery> Ja query
Opslagintegratie Geef de naam op van uw opslagintegratie die u in Snowflake hebt gemaakt. Zie Een Snowflake-opslagintegratie configureren voor de vereiste stappen voor het gebruik van de opslagintegratie. < uw opslagintegratie > Nee storageIntegration
Aanvullende kopieeropties voor Snowflake Extra kopieeropties, aangeboden als een woordenlijst van sleutel-waardeparen. Voorbeelden: MAX_FILE_SIZE, OVERSCHRIJVEN. Zie Snowflake Copy Options voor meer informatie. • Naam
•Waarde
Nee additionalCopyOptions
Aanvullende opties voor Snowflake-indeling Aanvullende bestandsindelingsopties die worden aangeboden aan de opdracht COPY als een woordenlijst van sleutel-waardeparen. Voorbeelden: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Zie Opties voor het type type Snowflake-indeling voor meer informatie. • Naam
•Waarde
Nee additionalFormatOptions

Bestemming

Notitie

Hoewel niet-Azure Snowflake-exemplaren worden ondersteund voor de bron, worden alleen Azure Snowflake-exemplaren momenteel ondersteund voor Snowflake-bestemmingen (ook wel sinks genoemd in Azure Data Factory).

Name Beschrijving Waarde Vereist JSON-scripteigenschap
Gegevensarchieftype Het gegevensarchieftype. Extern Ja /
Verbinding Uw verbinding met het doelgegevensarchief. < uw verbinding > Ja verbinding
Database Uw database die u als bestemming gebruikt. < uw database> Ja /
Tabel Uw doelgegevenstabel. < naam van de doeltabel> Ja •schema
•tafel
Script vooraf kopiëren Een SQL-query voor de Copy-activiteit die moet worden uitgevoerd voordat gegevens in Snowflake worden geschreven in elke uitvoering. Gebruik deze eigenschap om de vooraf geladen gegevens op te schonen. < uw script vooraf kopiëren> NO preCopyScript
Opslagintegratie Geef de naam op van uw opslagintegratie die u in Snowflake hebt gemaakt. Zie Een Snowflake-opslagintegratie configureren voor de vereiste stappen voor het gebruik van de opslagintegratie. < uw opslagintegratie > Nee storageIntegration
Aanvullende kopieeropties voor Snowflake Extra kopieeropties, aangeboden als een woordenlijst van sleutel-waardeparen. Voorbeelden: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Zie Snowflake Copy Options voor meer informatie. • Naam
•Waarde
Nee additionalCopyOptions
Aanvullende opties voor Snowflake-indeling Aanvullende bestandsindelingsopties die beschikbaar zijn voor de opdracht COPY, opgegeven als een woordenlijst van sleutel-waardeparen. Voorbeelden: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Zie Opties voor het type type Snowflake-indeling voor meer informatie. • Naam
•Waarde
Nee additionalFormatOptions