Gå till huvudinnehåll Gå till ytterligare innehåll

Google BigQuery

Du kan använda Google BigQuery 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 Google BigQuery som mål omfattar att:

Konfigurera en koppling till Google BigQuery

Gör så här för att konfigurera kopplingen:

  1. I Kopplingar klickar du på Skapa koppling.

  2. Välj Google BigQuery -målkopplingen och ange följande inställningar:

Datamål

Anteckning om informationDetta fält är inte tillgängligt med Qlik Talend Cloud Starterprenumeration eftersom Gateway för dataflytt inte stöds med denna prenumerationsnivå.

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.

Anteckning om informationVid åtkomst till databasen via Gateway för dataflytt måste du även installera korrekt drivrutin på Gateway för dataflytt-maskinen. Information finns i Google BigQuery nedan.

Anslutningsegenskaper

Servicekontonyckel: Ladda upp den JSON-fil som hämtades när du skapade servicekontonyckeln till BigQuery.

Plats: hit ska datauppsättningar som skapats av Qlik laddas upp. Om du väljer Annan anger du regionnamnet i fältet Regionnamn. En lista med regionnamn finns i BigQuery-platser.

Anteckning om informationFör att välja Annan krävs Gateway för dataflytt 2023.11.4 eller senare.

Namn

Visningsnamnet för anslutningen.

Förutsättningar

Behörigheter som krävs för mellanlagringsdata

Om du vill att datauppsättningen ska skapas automatiskt krävs följande behörigheter:

BigQuery > BigQuery Job User

BigQuery > BigQuery Data Editor

Om datauppsättningen redan finns måste du utföra följande steg:

  1. Skapa ett tjänstkonto med följande behörighet:

    BigQuery > BigQuery Job User

  2. Navigera till den datauppsättning som du vill använda och gör sedan följande:

    1. Lägg till tjänstkontot som du just skapade som huvudkonto.

    2. Tilldela BigQuery Data Editor-rollen.

Inställning av drivrutin

En drivrutin behövs bara om du kommer åt en databas via Gateway för dataflytt. I det här fallet måste du installera drivrutinen på Gateway för dataflytt-maskinen.

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 ett skript körs som automatiskt hämtar, installerar och konfigurerar den nödvändiga driver. Du kan också köra skript som uppdaterar och avinstallerar driver efter behov.

  • 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

Så här hämtar och installerar du driver:

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. 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

  3. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  4. Kör följande kommando:

    Syntax:

    ./install gbq

    Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du install gbq-kommandot igen.

    I annat fall visas EULA för driver.

  5. 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.
  6. 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.

  7. driver kommer att installeras.

  8. Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:

    sudo systemctl start repagent

  9. 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

Kör uppdateringskommandot om du vill avinstallera tidigare versioner av driver innan du installerar den tillhandahållna driver.

Så här hämtar och uppdaterar du driver:

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. 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

  3. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  4. Kör följande kommando:

    Syntax:

    ./update gbq

    Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du update gbq-kommandot igen.

    I annat fall visas EULA för driver.

  5. 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.
  6. 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.
  7. Den gamla driver avinstalleras och den nya driver installeras.

  8. Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:

    sudo systemctl start repagent

  9. 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

Kör avinstalleringskommandot om du vill avinstallera driver.

Så här avinstallerar du driver:

  1. Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.

  2. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  3. Kör följande kommando:

    -syntax

    ./uninstall gbq

    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.

När Gateway för dataflytt har installerats hämtar du filerna SimbaODBCDriverforGoogleBigQuery_<version>-Linux.tar.gz och google-cloud-sdk-<version>-linux-x86_64.tar.gz files. Du hittar direkta nedladdningslänkar till de här filerna i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml. När hämtningen har slutförts kopierar du filerna till Gateway för dataflytt-maskinen.

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. Om du vill kan du bekräfta att tjänsten har stoppats:

    sudo systemctl status repagent

  3. Statusen ska vara enligt följande:

    Active: inactive (dead) since <timestamp> ago

  4. Extrahera

    SimbaODBCDriverforGoogleBigQuery_<version>.tar.gz

    till:

    /opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux

  5. Flytta filerna GoogleBigQueryODBC.did och simba.googlebigqueryodbc.ini till lib-katalogen under Simba ODBC-drivrutinskatalogen.

    Exempel:

    Flytta filerna från:

    /opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/setup

    till:

    /opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib

  6. Redigera filen simba.googlebigqueryodbc.ini på följande sätt:

    1. Ändra ErrorMessagesPath till sökvägen till XML-filen som innehåller ODBC-meddelandena. Standardplatsen är .

      ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/ErrorMessages

    2. Ändra DriverManagerEncoding till UTF-16.
  7. Lägg till följande sökväg i filen site_arep_login.sh som finns i Gateway för dataflytt-bin-katalogen:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib

  8. Redigera filen /etc/odbcinst.ini och lägg till drivrutinssökvägen (dvs. sökvägen där drivrutinen är installerad):

    [ODBC Drivers]

    Simba= Installed

    Simba ODBC Driver for Google BigQuery = Installed

    [Simba ODBC Driver for Google BigQuery]

    Description=Simba ODBC Driver for Google BigQuery(64-bit)

    Driver=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib/libgooglebigqueryodbc_sb64.so

  9. Installera google-cloud-sdk-<version>-linux-x86_64.tar.gz.

  10. Starta Gateway för dataflytt-tjänsten.

    sudo systemctl start repagent

  11. Om du vill kan du bekräfta att tjänsten har startats:

    sudo systemctl status repagent

    Statusen ska vara enligt följande:

    Active: active (running) since <timestamp> ago

  1. Hämta följande ZIP-fil och JAR-filer som anges under binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml:

    • https://repo1.maven.org/maven2/com/google/cloud/google-cloud-bigquery/<version>/google-cloud-bigquery-<version>.jar
    • https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/<version>/google-cloud-storage-<version>.jar
    • https://storage.googleapis.com/simba-bq-release/jdbc/SimbaJDBCDriverforGoogleBigQuery<version>.zip

    Kokpiera JAR-filerna till följande map på Gateway för dataflytt-maskinen och extrahera JAR-filerna i SimbaJDBCDriverforGoogleBigQuery<version>.zip till samma mapp:

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. Starta om Gateway för dataflytt-tjänsten genom att köra stopp- och start-kommandon enligt beskrivning i Starta om tjänsten

Port

Brandväggsport 443 måste öppnas för utgående kommunikation.

Datatyper

Parametriserad datatyplängd kommer att anges med standardvärden:

  • STRING: 8 192 (längd)

  • BYTES: 8 192 (längd)

  • NUMERIC: precision: 38, skala: 9

  • BIGDECIMAL: precision: 76, skala: 38

Följande tabell visar de Google BigQuery-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.

Datatyper som stöds
Qlik Cloud-datatyper Google BigQuery-datatyper

BOOLEAN

BOOL

Byte

BYTES (längd i bytes)

Datum

Datum

Tid

Tid

Datum och tid:

TIMESTAMP

INT1

TINYINT

INT2 SMALLINT

INT4

INTEGER

INT8 BIGINT

Numerisk

NUMERIC (precision, skala)

REAL4

FLOAT64

REAL8

FLOAT64

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INTEGER

UINT8

BIGINT

sträng

STRING (längd i bytes)

WSTRING

STRING (längd i bytes)

BLOB

Byte

NCLOB

sträng

CLOB

sträng

Följande datatyper konverteras till STRING:

  • ARRAY

  • STRUCT

  • JSON

  • GEOGRAPHY

Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.

Begränsningar och överväganden

Följande begränsningar gäller när du flyttar data till ett Google BigQuery-mål:

Begränsningar och överväganden för alla datauppgifter

  • Följande DDL:er stöds inte:
    • Släpp kolumn
    • Byt namn på kolumn
    • Ändra kolumndatatyp:
    • Byt namn på tabell
  • Att fånga upp förändringar från källtabeller utan primärnyckel eller unikt index stöds ej. Om du behöver fånga upp ändringar från sådana tabeller kan du lägga till en Primärnyckel med hjälp av en transformering. Kolumner för primärnyckel eller unikt index kan heller inte innehålla NULL-värden. Om du vet att sådana kolumner kommer att fyllas med NULL-värden, definiera en transformering för att ändra NULL-värdena till icke-null-värden.

Begränsningar och överväganden endast för replikeringsuppgifter

  • Det Transaktionella Tillämpa ändringar-läget stöds inte.
  • Felhanteringsalternativet Logga post i undantagstabellen för att tillämpa konflikter och datafel stöds inte.

  • Med följande konfiguration av uppgiftsinställningar kommer replikeringsuppgiften att utföra en DELETE-åtgärd följt av en INSERT istället för en UPDATE:

    • Läget Tillämpa ändringar är inställt på Batchoptimerat.

    • Alternativet Tillämpa ändringar med SQL MERGE är inte aktiverat.

    • UPDATE:s felhantering för Tillämpa konflikter är inställd på: Ingen post hittades för att tillämpa en UPDATE: INFOGA den saknade målposten.

    Eftersom Google Cloud BigQuery inte stöder återladdning kommer data att tas bort från målet om replikeringsuppgiften inte kan infoga den uppdaterade raden.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!