# Google BigQuery

U kunt Google BigQuery gebruiken als een doelgegevensplatform in een gegevenspijplijn of in een replicatietaak. In een gegevenspijplijn kunt u verschillende ELT-bewerkingen uitvoeren voor het doelplatform, zoals gegevens opslaan, gegevens transformeren, datamarts maken en gegevens registreren. Bij een replicatietaak daarentegen worden gegevens rechtstreeks van een bronsysteem naar een doelsysteem gerepliceerd met basistransformatie-opties, maar zonder ondersteuning voor ELT-bewerkingen.

Het instellen van Google BigQuery als doel omvat:

* [Voldoen aan de vereisten](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/bigquery-target.htm#Prerequi2)
* Een verbinding configureren met Google BigQuery

## Een verbinding configureren met Google BigQuery

Doe het volgende om de connector te configureren:

1. Klik in Verbindingen op Verbinding maken.

2. Selecteer de doelconnector Google BigQuery en geef vervolgens de volgende instellingen op:

### Gegevensdoel

#### Gegevensgateway

InformatieDit veld is niet beschikbaar bij een Qlik Talend Cloud Starter-abonnement omdat Data Movement gateway niet wordt ondersteund bij dit abonnementsniveau.

Een Data Movement gateway is alleen vereist als de doeldatabase niet toegankelijk is via Qlik Cloud en kan alleen worden geopend via een privékoppeling (bijvoorbeeld als deze zich in een virtuele privécloud bevindt). Als dit het geval is, selecteer dan de Data Movement gateway waarmee u toegang wilt krijgen tot de doeldatabase.

Afhankelijk van uw gebruikssituatie, gebruikt u dezelfde Data Movement gateway die is geïmplementeerd om gegevens van de bron te verplaatsen of u gebruikt een andere gateway.

Voor informatie over usecases voor de Data Movement gateway, gaat u naar [Wanneer is de Data Movement gateway vereist?](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#top) en [Veelvoorkomende toepassingen:](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#Common).

Als de doeldatabase rechtstreeks toegankelijk is vanuit Qlik Cloud, selecteert u Geen.

InformatieWanneer u toegang krijgt tot de doeldatabase via Data Movement gateway, moet u ook het juiste stuurprogramma installeren op de Data Movement gateway-machine. Zie [Google BigQuery](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/bigquery-target.htm#Driver) hieronder voor meer informatie.

### Verbindingseigenschappen

Sleutel serviceaccount: Upload het JSON-bestand dat is gedownload toen u uw BigQuery-serviceaccountsleutel aanmaakte.

Locatie: Waar de dataset moet worden geüpload die is gemaakt door Qlik. Als u Overige selecteert, voert u de regionaam in het veld Regionaam in. Zie [BigQuery-locaties](https://cloud.google.com/bigquery/docs/locations) voor een lijst met ondersteunde regionamen.

InformatieHet selecteren van Overige vereist Data Movement gateway 2023.11.4 of later.

### Naam

De weergavenaam voor de verbinding.

## Vereisten

### Machtigingen vereist voor tussenopslag van gegevens

Machtigingen vereist om de doeldataset automatisch aan te maken:

Als u wilt dat de dataset automatisch wordt aangemaakt, zijn de volgende machtigingen vereist:

BigQuery &gt; BigQuery Job User

BigQuery &gt; BigQuery Data Editor

Machtigingen vereist wanneer de doeldataset al bestaat:

Als de dataset al bestaat, moet u de volgende stappen uitvoeren:

1. Maak een serviceaccount aan met de volgende machtiging:

   BigQuery &gt; BigQuery Job User

2. Navigeer naar de dataset die u wilt gebruiken en vervolgens:

   1. Voeg het zojuist aangemaakte serviceaccount toe als een principal.

   2. Wijs de rol BigQuery Data Editor toe.

### Stuurprogramma instellen

Een stuurprogramma is alleen vereist als u toegang krijgt tot de database via Data Movement gateway. In dat geval moet u het stuurprogramma installeren op de Data Movement gateway-machine.

U kunt het driver installeren met het installatieprogramma (aanbevolen) of handmatig. U moet een handmatige installatie alleen uitvoeren als er een probleem ontstaat bij het hulpprogramma.

#### Het hulpprogramma voor stuurprogramma-installatie gebruiken om het stuurprogramma te installeren

In deze sectie wordt beschreven hoe u het vereiste driver installeert. Het proces omvat het uitvoeren van een script dat automatisch het vereiste driver downloadt, installeert en configureert. U kunt indien nodig ook scripts uitvoeren om het driver bij te werken en verwijderen.

De installatie voorbereiden

* Controleer of Python 3.6 of hoger is geïnstalleerd op de Data Movement-gatewayserver.

  Python is al geïnstalleerd op de meeste Linux-distributies. U kunt controleren welke Python-versie is geïnstalleerd op uw systeem door de volgende opdracht uit te voeren:

  python3 --version

De driver installeren

Ga als volgt te werk om het driverte downloaden en installeren:

1. Stop de Data Movement gateway-service:

   sudo systemctl stop repagent

2. Bevestig eventueel dat de service is gestopt:

   sudo systemctl status repagent

   De status zou als volgt moeten zijn:

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:

   opt/qlik/gateway/movement/drivers/bin

4. Voer de volgende opdracht uit:

   Syntaxis:

   ./install gbq

   Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Data Movement-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht install gbq nogmaals uit.

   Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.

5. Voer een van de volgende handelingen uit:

   * Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
   * Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
   * Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.

6. Voer een van de volgende handelingen uit:

   * Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.

   * Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.

   * Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals te tonen.

   Het driver wordt geïnstalleerd.

7. Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:

   sudo systemctl start repagent

8. Bevestig eventueel dat de service is gestart:

   sudo systemctl status repagent

   De status zou als volgt moeten zijn:

   Active: active (running) since &lt;timestamp&gt; ago

Het driver bijwerken

Voer de update-opdracht uit als u eerdere versies van het driver wilt verwijderen voordat u het meegeleverde driver installeert.

Ga als volgt te werk om het driver te downloaden en bij te werken:

1. Stop de Data Movement gateway-service:

   sudo systemctl stop repagent

2. Bevestig eventueel dat de service is gestopt:

   sudo systemctl status repagent

   De status zou als volgt moeten zijn:

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:

   opt/qlik/gateway/movement/drivers/bin

4. Voer de volgende opdracht uit:

   Syntaxis:

   ./update gbq

   Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Data Movement-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht update gbq nogmaals uit.

   Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.

5. Voer een van de volgende handelingen uit:

   * Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
   * Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
   * Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.

6. Voer een van de volgende handelingen uit:

   * Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.
   * Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.
   * Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals vanaf het begin te tonen.

   Het oude driver wordt verwijderd en het nieuwe driver wordt geïnstalleerd.

7. Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:

   sudo systemctl start repagent

8. Bevestig eventueel dat de service is gestart:

   sudo systemctl status repagent

   De status zou als volgt moeten zijn:

   Active: active (running) since &lt;timestamp&gt; ago

Het driver verwijderen

Voer de uninstall-opdracht uit als u het driver wilt verwijderen.

Ga als volgt te werken om het driver te verwijderen:

1. Stop alle taken die zijn geconfigureerd om deze connector te gebruiken.

2. Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:

   opt/qlik/gateway/movement/drivers/bin

3. Voer de volgende opdracht uit:

   Syntaxis:

   ./uninstall gbq

   driver wordt verwijderd.

#### Het stuurprogramma handmatig installeren

U moet het driver alleen handmatig uitvoeren als de geautomatiseerde installatie van het stuurprogramma niet is voltooid.

U moet zowel het ODBC-stuurprogramma als het JDBC-stuurprogramma installeren.

Het ODBC-stuurprogramma installeren

Nadat Data Movement gateway is geïnstalleerd, moet u de bestanden SimbaODBCDriverforGoogleBigQuery\_&lt;version&gt;-Linux.tar.gz en google-cloud-sdk-&lt;version&gt;-linux-x86\_64.tar.gz downloaden. U kunt directe downloadlinks voor deze bestanden vinden onder binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml. Zodra het downloaden is voltooid, kopieert u de bestanden naar de Data Movement gateway-machine.

1. Stop de Data Movement gateway-service:

   sudo systemctl stop repagent

2. Bevestig optioneel dat de service is gestopt:

   sudo systemctl status repagent

   De status zou als volgt moeten zijn:

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. Pak:

   SimbaODBCDriverforGoogleBigQuery\_&lt;version&gt;.tar.gz

   uit naar:

   /opt/SimbaODBCDriverforGoogleBigQuery\_&lt;version&gt;-Linux

4. Verplaats de bestanden GoogleBigQueryODBC.did en simba.googlebigqueryodbc.ini naar de map lib onder de map van het Simba ODBC-stuurprogramma.

   Voorbeeld:

   Verplaats de bestanden van:

   /opt/SimbaODBCDriverforGoogleBigQuery\_&lt;version&gt;-Linux/setup

   naar:

   /opt/SimbaODBCDriverforGoogleBigQuery\_&lt;version&gt;-Linux/SimbaODBCDriverforGoogleBigQuery64\_&lt;version&gt;/lib

5. Bewerk het bestand simba.googlebigqueryodbc.ini als volgt:

   1. Wijzig het ` ErrorMessagesPath  `naar het pad van het XML-bestand dat de ODBC-berichten bevat. De standaardlocatie is:

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

   2. Wijzig de `DriverManagerEncoding` naar `UTF-16`.

6. Voeg het volgende pad toe aan het bestand site\_arep\_login.sh dat zich bevindt in de bin-map van Data Movement gateway:

   export LD\_LIBRARY\_PATH=$LD\_LIBRARY\_PATH:/opt/SimbaODBCDriverforGoogleBigQuery\_&lt;version&gt;-Linux/SimbaODBCDriverforGoogleBigQuery64\_&lt;version&gt;/lib

7. Bewerk het bestand /etc/odbcinst.ini en voeg het pad van het stuurprogramma toe (d.w.z. het pad waar het stuurprogramma is geïnstalleerd):

   `[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`

8. Installeer google-cloud-sdk-&lt;version&gt;-linux-x86\_64.tar.gz.

9. Start de Data Movement gateway-service:

   sudo systemctl start repagent

10. Bevestig optioneel dat de service is gestart:

    sudo systemctl status repagent

    De status zou als volgt moeten zijn:

    Active: active (running) since &lt;timestamp&gt; ago

Het JDBC-stuurprogramma en de bijbehorende afhankelijkheden installeren

1. Download het volgende ZIP-bestand en de JAR-bestanden die worden vermeld onder binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml:

   * https://repo1.maven.org/maven2/com/google/cloud/google-cloud-bigquery/&lt;version&gt;/google-cloud-bigquery-&lt;version&gt;.jar
   * https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/&lt;version&gt;/google-cloud-storage-&lt;version&gt;.jar
   * https://storage.googleapis.com/simba-bq-release/jdbc/SimbaJDBCDriverforGoogleBigQuery&lt;version&gt;.zip

   Kopieer de JAR-bestanden naar de volgende map op de Data Movement gateway-machine en pak de JAR-bestanden in SimbaJDBCDriverforGoogleBigQuery&lt;version&gt;.zip uit naar dezelfde map:

   /opt/qlik/gateway/movement/qcs\_agents/qdi-db-commands/lib

2. Start de Data Movement gateway-service opnieuw door de opdracht uit te voeren die wordt beschreven in [De service opnieuw opstarten](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/dm-gateway-managing.htm#Restarti2)

### Poort

Firewallpoort 443 moet zijn geopend voor uitgaande communicatie.

## Gegevenstypen

De lengte van het geparametriseerde gegevenstype wordt ingesteld met standaardwaarden:

* STRING: 8192 (lengte)

* BYTES: 8192 (lengte)

* NUMERIC: Precisie: 38, Schaal: 9

* BIGDECIMAL: Precisie: 76, Schaal: 38

De volgende tabel toont de Google BigQuery-gegevenstypen die worden ondersteund bij het gebruik van Qlik Cloud en de standaardtoewijzing van Qlik Cloud-gegevenstypen.

Informatie in eigen gegevenstypen wordt behouden en wordt weergegeven in de kolom Eigen gegevenstype in weergaven van gegevensverzamelingen. Als de kolom niet zichtbaar is, moet u de kolomkiezer van de weergave van de gegevensverzameling openen en de kolom Eigen gegevenstype selecteren.

Ondersteunde gegevenstypen

| Qlik Cloud-gegevenstypen | Google BigQuery-gegevenstypen |
| --- | --- |
| BOOLEAN | BOOL |
| BYTES | BYTES (lengte in bytes) |
| DATE | DATE |
| TIME | TIME |
| DATETIME | TIMESTAMP<br><br>Als schaal &gt; 7: STRING(37)<br><br>Anders is de precisie altijd 6, zelfs als de invoerkolom een precisie lager dan 6 gebruikt. |
| INT1 | TINYINT |
| INT2 | SMALLINT |
| INT4 | INTEGER |
| INT8 | BIGINT |
| NUMERIC | NUMERIC (precisie, schaal) |
| REAL4 | FLOAT64 |
| REAL8 | FLOAT64 |
| UINT1 | TINYINT |
| UINT2 | SMALLINT |
| UINT4 | INTEGER |
| UINT8 | BIGINT |
| STRING | STRING<br><br>Als subtype JSON is, dan:<br><br>JSON |
| WSTRING | STRING<br><br>Als subtype JSON is, dan:<br><br>JSON |
| BLOB | BYTES |
| NCLOB | STRING<br><br>Als subtype JSON is, dan:<br><br>JSON |
| CLOB | STRING<br><br>Als subtype JSON is, dan:<br><br>JSON |
| ARRAY | STRING |
| STRUCT | STRING |
| GEOGRAPHY | STRING |
| JSON | JSON |

## Beperkingen en overwegingen voor alle gegevenstaken

* De volgende DDL's worden niet ondersteund:

  * Kolom verwijderen
  * Kolom hernoemen
  * Gegevenstype van kolom wijzigen

* Het vastleggen van wijzigingen uit brontabellen zonder een primaire sleutel of unieke index wordt niet ondersteund. Als u wijzigingen uit dergelijke tabellen wilt vastleggen, kunt u een primaire sleutel toevoegen met behulp van een transformatie. Bovendien mogen kolommen met een primaire sleutel of unieke index geen NULL-waarden bevatten. Als u weet dat dergelijke kolommen met NULL-waarden worden gevuld, definieert u een transformatie om de NULL-waarden te wijzigen in niet-nullable waarden.

* JSON-velden worden niet ondersteund als primaire sleutels.

## Beperkingen en overwegingen voor alleen replicatietaken

* De modus Wijzigingen toepassen Transactioneel wordt niet ondersteund.

* Met de volgende configuratie van taakinstellingen voert de replicatietaak een DELETE-bewerking uit, gevolgd door een INSERT in plaats van een UPDATE:

  * De modus Wijzigingen toepassen is ingesteld op Geoptimaliseerd voor batch.

  * De optie Wijzigingen toepassen met SQL MERGE is niet geselecteerd.

  * Foutafhandeling van UPDATEs voor Conflicten toepassen is ingesteld op: Geen record gevonden voor het toepassen van een UPDATE: INSERT de ontbrekende doelrecord.

  Aangezien Google Cloud BigQuery geen rollback ondersteunt, worden de gegevens van het doel verwijderd als de replicatietaak de bijgewerkte rij niet kan invoegen.