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
- Een verbinding configureren met Google BigQuery
Een verbinding configureren met Google BigQuery
Doe het volgende om de connector te configureren:
-
Klik in Verbindingen op Verbinding maken.
-
Selecteer de doelconnector Google BigQuery en geef vervolgens de volgende instellingen op:
Gegevensdoel
Gegevensgateway
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? en Veelvoorkomende toepassingen:.
Als de doeldatabase rechtstreeks toegankelijk is vanuit Qlik Cloud, selecteert u Geen.
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 voor een lijst met ondersteunde regionamen.
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 > BigQuery Job User
BigQuery > BigQuery Data Editor
Machtigingen vereist wanneer de doeldataset al bestaat:
Als de dataset al bestaat, moet u de volgende stappen uitvoeren:
-
Maak een serviceaccount aan met de volgende machtiging:
BigQuery > BigQuery Job User
-
Navigeer naar de dataset die u wilt gebruiken en vervolgens:
-
Voeg het zojuist aangemaakte serviceaccount toe als een principal.
-
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:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
-
Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
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.
-
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.
-
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.
-
Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig eventueel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
Het driver wordt geïnstalleerd.
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:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
-
Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
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.
-
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.
-
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.
-
Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig eventueel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
Het oude driver wordt verwijderd en het nieuwe driver wordt geïnstalleerd.
Het driver verwijderen
Voer de uninstall-opdracht uit als u het driver wilt verwijderen.
Ga als volgt te werken om het driver te verwijderen:
-
Stop alle taken die zijn geconfigureerd om deze connector te gebruiken.
-
Op de Data Movement-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
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_<version>-Linux.tar.gz en google-cloud-sdk-<version>-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.
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig optioneel dat de service is gestopt:
sudo systemctl status repagent
-
Pak:
SimbaODBCDriverforGoogleBigQuery_<version>.tar.gz
uit naar:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux
-
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_<version>-Linux/setup
naar:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
Bewerk het bestand simba.googlebigqueryodbc.ini als volgt:
-
Wijzig het
ErrorMessagesPathnaar het pad van het XML-bestand dat de ODBC-berichten bevat. De standaardlocatie is:ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/ErrorMessages - Wijzig de
DriverManagerEncodingnaarUTF-16.
-
-
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_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
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= InstalledSimba 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 -
Installeer google-cloud-sdk-<version>-linux-x86_64.tar.gz.
-
Start de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig optioneel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
Het JDBC-stuurprogramma en de bijbehorende afhankelijkheden installeren
-
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/<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
Kopieer de JAR-bestanden naar de volgende map op de Data Movement gateway-machine en pak de JAR-bestanden in SimbaJDBCDriverforGoogleBigQuery<version>.zip uit naar dezelfde map:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Start de Data Movement gateway-service opnieuw door de opdracht uit te voeren die wordt beschreven in De service opnieuw opstarten
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.
| Qlik Cloud-gegevenstypen | Google BigQuery-gegevenstypen |
|---|---|
|
BOOLEAN |
BOOL |
|
BYTES |
BYTES (lengte in bytes) |
|
DATE |
DATE |
|
TIME |
TIME |
|
DATETIME |
TIMESTAMP Als schaal > 7: STRING(37) 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 Als subtype JSON is, dan: JSON |
|
WSTRING |
STRING Als subtype JSON is, dan: JSON |
|
BLOB |
BYTES |
|
NCLOB |
STRING Als subtype JSON is, dan: JSON |
|
CLOB |
STRING Als subtype JSON is, dan: 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.
-