Google BigQuery | Qlik CloudHjälp
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.

Att konfigurera Google BigQuery som ett mål innebär:

Konfigurera en koppling till Google BigQuery

Gör följande för att konfigurera kopplingen:

  1. I Kopplingar klickar du på Skapa koppling.

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

Datamål

Datagateway

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

Data Movement gateway 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 Data Movement gateway att använda för åtkomst till måldatabasen.

Beroende på användningsfall kan det vara samma Data Movement gateway som distribuerats för att flytta data från datakällan eller någon annan.

Information om Data Movement gateway-användningsfall finns i När krävs Data Movement gateway? och Vanlig användning.

Om måldatabasen är direkt åtkomlig från Qlik Cloud väljer du Ingen.

Anteckning om informationNär du öppnar måldatabasen via Data Movement gateway måste du också installera lämplig drivrutin på Data Movement gateway-maskinen. Mer information finns i Google BigQuery nedan.

Kopplingsegenskaper

Tjänstekontonyckel: Ladda upp JSON-filen som hämtades när du skapade din BigQuery-tjänstekontonyckel.

Plats: Var datasetet som skapats av Qlik ska laddas upp. Om du väljer Annan anger du regionens namn i fältet Regionnamn. För en lista över regionnamn som stöds, se BigQuery-platser.

Anteckning om informationAtt välja Annan kräver Data Movement gateway 2023.11.4 eller senare.

Namn

Visningsnamnet för kopplingen.

Förutsättningar

Behörigheter som krävs för mellanlagring av data

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

BigQuery > BigQuery Job User

BigQuery > BigQuery Data Editor

Om datasetet redan finns måste du utföra följande steg:

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

    BigQuery > BigQuery Job User

  2. Navigera till det dataset som du vill använda och sedan:

    1. Lägg till tjänstekontot du just skapade som ett huvudkonto (principal).

    2. Tilldela rollen BigQuery Data Editor.

Konfiguration av drivrutin

En drivrutin krävs endast om du öppnar databasen via Data Movement gateway. I så fall måste du installera drivrutinen på Data Movement gateway-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 drivrutin 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å Data Movement-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 Gateway för dataflytt-tjänsten:

    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. Data Movement-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å Data Movement-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 ett 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 Gateway för dataflytt-tjänsten:

    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. Data Movement-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å Data Movement-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 ett 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. Data Movement-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 ODBC-drivrutinen och JDBC-drivrutinen.

När Data Movement gateway har installerats hämtar du filerna SimbaODBCDriverforGoogleBigQuery_<version>-Linux.tar.gz och google-cloud-sdk-<version>-linux-x86_64.tar.gz. Du hittar direkta hämtningslänkar för dessa filer under binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml. När hämtningen är klar kopierar du filerna till Data Movement gateway-maskinen.

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

    sudo systemctl stop repagent

  2. Bekräfta eventuellt 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 katalogen lib 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 enligt följande:

    1. Ändra ErrorMessagesPath till sökvägen för 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. Bekräfta eventuellt att tjänsten har startat:

    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 listas under binary-artifacts i /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

    Kopiera JAR-filerna till följande mapp på Data Movement gateway-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 Data Movement gateway-tjänsten genom att köra kommandot som beskrivs i Starta om tjänsten

Port

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

Datatyper

Parametriserad datatypslängd kommer att ställas in med standardvärden:

  • STRING: 8192 (längd)

  • BYTES: 8192 (längd)

  • NUMERIC: Precision: 38, Skala: 9

  • BIGDECIMAL: Precision: 76, Skala: 38

Följande tabell visar de Google BigQuery-datatyper som stöds när du använder 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

BYTES

BYTES (längd i byte)

DATE

DATE

TIME

TIME

DATETIME

TIMESTAMP

Om skala > 7: STRING(37)

Annars är precisionen alltid 6, även om indatakolumnen använder en lägre precision än 6.

INT1

TINYINT

INT2 SMALLINT

INT4

INTEGER

INT8 BIGINT

NUMERIC

NUMERIC (precision, skala)

REAL4

FLOAT64

REAL8

FLOAT64

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INTEGER

UINT8

BIGINT

STRING

STRING

Om undertypen är JSON, då:

JSON

WSTRING

STRING

Om undertypen är JSON, då:

JSON

BLOB

BYTES

NCLOB

STRING

Om undertypen är JSON, då:

JSON

CLOB

STRING

Om undertypen är JSON, då:

JSON

ARRAY STRING
STRUCT STRING
GEOGRAPHY STRING
JSON JSON

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

  • Följande DDL:er stöds inte:
    • Ta bort kolumn
    • Byt namn på kolumn
    • Ändra datatyp för kolumn
  • Det går inte att fånga ändringar från källtabeller utan en primärnyckel eller ett unikt index. Om du behöver fånga ändringar från sådana tabeller kan du lägga till en primärnyckel med hjälp av en transformering. Dessutom kan kolumner med primärnyckel eller unikt index inte innehålla NULL-värden. Om du är medveten om att sådana kolumner kommer att fyllas med NULL-värden, definiera en transformering för att ändra NULL-värdena till värden som inte är null.

  • JSON-fält stöds inte som primärnycklar.

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

  • Läget Tillämpa ändringar Transaktionell stöds inte.
  • Med följande konfiguration av uppgiftsinställningar kommer replikeringsuppgiften att utföra en DELETE-åtgärd följt av en INSERT i stället för en UPDATE:

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

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

    • Felhantering av UPDATE för tillämpningskonflikter är inställt på: Ingen post hittades för att tillämpa en UPDATE: INSERT den saknade målposten.

    Eftersom Google Cloud BigQuery inte stöder återställning (rollback), kommer data att tas bort från målet i händelse av att replikeringsuppgiften inte kan infoga den uppdaterade raden.

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

Om du stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!