Snowflake
Du kan använda Snowflake som en måldataplattform i en datapipeline eller i en replikeringsuppgift. I en datapipeline kan diverse ELT-åtgärder utföras på målplattformen, inklusive lagring av data, omvandling av data, skapande av datamart och dataregistrering. En replikeringsuppgift å andra sidan omfattar replikering av data direkt från ett källsystem till ett målsystem med grundläggande omvandlingsfunktioner, men utan stöd för ELT-åtgärder.
Ställa in Snowflake som mål omfattar att:
- Konfigurera Behörigheter som krävs på databasen.
- Installera drivrutinen som krävs. Observera att detta bara krävs om du kopplar till Snowflake via Gateway för dataflytt.
- Konfigurera en koppling till Snowflake
Ställa in anslutningsegenskaper
Gör så här för att konfigurera kopplingen:
-
I Kopplingar klickar du på Skapa koppling.
-
Välj Snowflake -målkopplingen och ange följande inställningar:
Gateway för dataflytt
Datagateway
Gateway för dataflytt behövs enbart om det inte går att komma åt måldatabasen från Qlik Cloud och bara kan nås via en privat länk (om den exempelvis är placerad i ett virtuellt privat moln). I så fall ska du välja Gateway för dataflytt att använda för åtkomst till måldatabasen.
Beroende på användningsfall kan det vara samma Gateway för dataflytt som distribuerats för att flytta data från datakällan eller någon annan.
Information om Gateway för dataflytt-användningsfall finns i När krävs Gateway för dataflytt? och Vanliga användningsfall.
Om måldatabasen kan kommas åt direkt från Qlik Cloud ska du välja Ingen.
Anslutningsegenskaper
-
Server: din URL för att få tillgång till Snowflake. Till exempel mittkonto.snowflakecomputing.com.
-
Port: den port som du vill använda för att få tillgång till din Snowflake-databas. 443 är standard.
Autentisering
Det finns olika sätt att autentisera en koppling:
-
Användarnamn och lösenord
-
Nyckelpar
Databasen Snowflake måste vara konfigurerad för att använda nyckelparsautentisering. Processen beskrivs i dokumentationen på Snowflake:
Anteckning om informationOm du använder Gateway för dataflytt krävs version 2024-05-14 eller högre för att använda nyckelparsautentisering.
Kontoegenskaper
Användarnamn och lösenord
Användarnamn och Lösenord: Användarnamn och lösenord för en användare som har behörighet att komma åt Snowflake-databasen.
Nyckelpar
Kontoegenskaper | Beskrivning |
---|---|
Användare | Användare i Snowflake. |
Privat nyckelfigur | Klicka på Bläddra för att välja filen med din privata nyckelfil. |
Privat nyckelfilslösenord | Lösenordet för att dekryptera din privata nyckel om den är krypterad. |
Databasegenskaper
- Förvalt lager: Namnet på ditt Snowflake-datalager. Du kan åsidosätta detta i dina projektinställningar.
-
Databasnamn: du kan använda två metoder för att specificera en databas:
-
Metod 1 - Välj från en lista: Klicka på Ladda databas och välj sedan en databas.
- Metod 2 - Manuellt: Välj Ange databasnamn manuellt och ange databasens namn.
-
Interna egenskaper
Interna egenskaper är till för speciella användarfall och visas därför inte i dialogen. De ska bara användas om Qlik-supporten uppmanar dig att göra det.
Använd - och -knapparna till höger om fälten för att lägga till och ta bort egenskaper efter behov.
Namn
Visningsnamnet för anslutningen.
Förutsättningar
Behörigheter som krävs
Följande behörigheter krävs:
Behörigheter som krävs om du vill att scheman som inte finns ska skapas automatiskt
- USAGE ON DATABASE
- CREATE SCHEMA ON DATABASE
Behörigheter som krävs om schemat redan finns
- USAGE ON DATABASE
- USAGE ON SCHEMA
- CREATE FILE FORMAT ON SCHEMA
- CREATE STAGE ON SCHEMA
- CREATE TABLE ON SCHEMA
Inställning av drivrutin
En drivrutin behövs bara om du kommer åt en databas via Gateway för dataflytt.
Du kan installera driver med verktyget för installation av drivrutiner (rekommenderas) eller manuellt. Manuell installation ska bara användas om det mot förmodan skulle inträffa ett problem med verktyget för installation av drivrutiner.
Använda verktyget för installation av drivrutiner för att installera drivrutinen
I det här delavsnittet beskrivs hur driver som krävs installeras. Processen innebär att hämta driver, kopiera den till rätt mapp (se nedan) och att köra ett skript som automatiskt installerar och konfigurerar den. Du kan också köra skript som uppdaterar och avinstallerar driver efter behov.
Förbereda installationen
-
Kontrollera att Python 3.6 eller senare är installerad på Dataflytt-gatewayservern.
Python kommer förinstallerad på de flesta Linuxdistributioner. Du kan kontrollera vilken Pythonversion som är installerad på ditt system genom att köra följande kommando:
python3 --version
-
Hämta Snowflake ODBC-drivrutinen "snowflake-odbc-<version>.x86_64.rpm". Du hittar en direkt nedladdningslänk för den version som stöds i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml. När hämtningen har slutförts kopierar du filen till:
/opt/qlik/gateway/movement/drivers/snowflake
Installera driver
Så här installerar du driver:
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
Om du vill kan du bekräfta att tjänsten har stoppats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: inactive (dead) since <timestamp> ago
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./install snowflake
I annat fall visas EULA för driver.
-
Gör ett av följande:
- Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
- Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
- Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
-
Gör något av följande:
- Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
- Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
-
Skriv in "v" och tryck på [Enter] för att visa EULA igen.
-
Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:
sudo systemctl start repagent
-
Du kan även bekräfta att tjänsten har startats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: active (running) since <timestamp> ago
driver kommer att installeras.
Uppdatering av driver
Kör uppdateringskommandot om du vill avinstallera tidigare versioner av driver innan du installerar den tillhandahållna driver.
Så här uppdaterar du driver:
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
Om du vill kan du bekräfta att tjänsten har stoppats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: inactive (dead) since <timestamp> ago
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./update snowflake
I annat fall visas EULA för driver.
-
Gör ett av följande:
- Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
- Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
- Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
-
Gör något av följande:
- Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
- Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
- Skriv in "v" och tryck på [Enter] för att granska EULA från början.
-
Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:
sudo systemctl start repagent
-
Du kan även bekräfta att tjänsten har startats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: active (running) since <timestamp> ago
Den gamla driver avinstalleras och den nya driver installeras.
Avinstallera driver
Kör avinstalleringskommandot om du vill avinstallera driver.
Så här avinstallerar du driver:
-
Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
-syntax
./uninstall snowflake
driver kommer att avinstalleras.
Installera drivrutinen manuellt
Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.
Du måste installera både en ODBC och en JDBC drivrutin.
Installera ODBC-drivrutinen
- När Gateway för dataflytt har installerats hämtar du drivrutinsfilen snowflake-odbc-<version>x86_64.rpm som listas under binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml och kopierar den till Gateway för dataflytt-maskinen.
- Installera drivrutinen på Gateway för dataflytt-maskinen.
Installera JDBC-drivrutinen
-
Hämta snowflake-jdbc-<version>x86_64.rpm som listas under binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml och kopierar den till följande mapp på Gateway för dataflytt-maskinen.
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Starta om Gateway för dataflytt-tjänsten och kontrollera att den har startat genom att köra kommandona som beskrivs i Servicekommandon för Gateway för dataflytt
Port
Brandväggsport 443 måste öppnas för utgående kommunikation.
Begränsningar och överväganden
Följande begränsningar gäller när du flyttar data till ett Snowflake-mål:
- Replikering av tabeller med omvända snedstreck i sina namn (t.ex. SÄRSKILD\\TABELL\\N) stöds inte.
Datatyper
Följande tabell visar de Snowflake-datatyper som stöds vid användning av Qlik Cloud och standardmappningen från Qlik Cloud-datatyper.
Information om inbyggd datatyp bevaras och visas i kolumnen Inbyggd datatyp i datauppsättningsvyer. Om kolumnen inte är synlig måste du öppna kolumnväljaren i datauppsättnignsvyn och välja kolumnen Inbyggd datatyp.
Qlik Cloud-datatyper | Snowflake-datatyper |
---|---|
BOOLEAN |
BOOLEAN |
Byte |
BINARY (längd i bytes) |
Datum |
Datum |
Tid |
TIME (precision) |
Datum och tid: |
TIMESTAMP_NTZ (precision) |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
Numerisk |
NUMBER (precision, skala) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
sträng |
VARCHAR (längd i bytes) |
WSTRING |
NVARCHAR (längd i bytes) |
BLOB |
BINARY (8388608) |
NCLOB |
NVARCHAR (8388608) |
CLOB |
VARCHAR (8388608) |