Google BigQuery
Samenvatting
Item | Beschrijving |
---|---|
Releasestatus | Algemene beschikbaarheid |
Producten | Power BI (Semantische modellen) Power BI (gegevensstromen) Fabric (Dataflow Gen2) Power Apps (gegevensstromen) Customer Insights (gegevensstromen) |
Ondersteunde verificatietypen | Organisatieaccount Serviceaccount |
Notitie
Sommige mogelijkheden zijn mogelijk aanwezig in één product, maar niet in andere vanwege implementatieschema's en hostspecifieke mogelijkheden.
Notitie
Vanaf juli 2021 heeft Google de ondersteuning voor aanmeldingen bij Google-accounts stopgezet vanuit ingesloten browserframeworks. Vanwege deze wijziging moet u uw Power BI Desktop-versie bijwerken naar juni 2021 of hoger om u aan te melden bij Google.
Vereisten
U hebt een Google-account of een Google-serviceaccount nodig om u aan te melden bij Google BigQuery.
Ondersteunde mogelijkheden
- Importeren
- DirectQuery (semantische Power BI-modellen)
Verbinding maken met Google BigQuery-gegevens vanuit Power Query Desktop
Voer de volgende stappen uit om vanuit Power Query Desktop verbinding te maken met Google BigQuery:
Selecteer Google BigQuery in de get data-ervaring. De ervaring voor het ophalen van gegevens in Power Query Desktop varieert tussen apps. Ga voor meer informatie over de Power Query Desktop-ervaring voor uw app naar Waar u gegevens kunt ophalen.
Als u geavanceerde opties wilt gebruiken, selecteert u Geavanceerde opties. Selecteer anders OK om door te gaan. Meer informatie: Verbinding maken met geavanceerde opties
De Google BigQuery-connector ondersteunt het maken van verbinding via een organisatieaccount of een serviceaccountaanmelding. In dit voorbeeld gebruikt u het organisatieaccount om u aan te melden. Selecteer Aanmelden om door te gaan.
U kunt zich ook aanmelden met een Google-serviceaccount. In dit geval selecteert u Aanmelding van serviceaccount en voert u het e-mailadres van uw serviceaccount en de inhoud van het JSON-sleutelbestand van uw serviceaccount in. Selecteer vervolgens Connect.
Er wordt een dialoogvenster Aanmelden met Google weergegeven. Selecteer uw Google-account en keur verbinding met Power BI Desktop goed.
Nadat u zich hebt aangemeld, selecteert u Verbinding maken om door te gaan.
Zodra u verbinding hebt gemaakt, wordt er een Navigator-venster weergegeven en worden de gegevens weergegeven die beschikbaar zijn op de server. Selecteer uw gegevens in de navigator. Selecteer vervolgens Gegevens transformeren om de gegevens te transformeren in Power Query of laden om de gegevens in Power BI Desktop te laden.
Verbinding maken met Google BigQuery-gegevens vanuit Power Query Online
Voer de volgende stappen uit om verbinding te maken met Google BigQuery vanuit Power Query Online:
Selecteer de optie Google BigQuery in de get data-ervaring. Verschillende apps hebben verschillende manieren om toegang te krijgen tot Power Query Online om gegevens te krijgen. Ga naar Waar u gegevens kunt ophalen voor de Power Query Online-app voor meer informatie over het ophalen van gegevens.
In het dialoogvenster Google BigQuery Database moet u mogelijk een nieuwe verbinding maken of een bestaande verbinding selecteren. Als u on-premises gegevens gebruikt, selecteert u een on-premises gegevensgateway. Selecteer vervolgens Aanmelden.
Er wordt een dialoogvenster Aanmelden met Google weergegeven. Selecteer uw Google-account en keur verbinding goed.
Notitie
Hoewel in het dialoogvenster Aanmelden wordt opgegeven dat u naar Power BI Desktop gaat nadat u zich hebt aangemeld, wordt u in plaats daarvan naar uw online-app verzonden.
Als u geavanceerde opties wilt gebruiken, selecteert u Geavanceerde opties. Meer informatie: Verbinding maken met geavanceerde opties
Nadat u zich hebt aangemeld, selecteert u Volgende om door te gaan.
Zodra u verbinding hebt gemaakt, wordt er een Navigator-venster weergegeven en worden de gegevens weergegeven die beschikbaar zijn op de server. Selecteer uw gegevens in de navigator. Selecteer vervolgens Volgende om de gegevens in Power Query te transformeren.
Verbinding maken met behulp van geavanceerde opties
Power Query Desktop en Power Query Online bieden zo nodig een set geavanceerde opties die u aan uw query kunt toevoegen.
De volgende tabel bevat alle geavanceerde opties die u kunt instellen in Power Query Desktop en Power Query Online.
Geavanceerde optie | Beschrijving |
---|---|
Factureringsproject-id | Een project waarmee Power Query query's uitvoert. Machtigingen en facturering zijn gekoppeld aan dit project. Als er geen factureringsproject-id is opgegeven, wordt standaard het eerste beschikbare project gebruikt dat wordt geretourneerd door Google-API's. |
Storage-API gebruiken | Een vlag die het gebruik van de Storage-API van Google BigQuery mogelijk maakt. Deze optie is standaard waar. Deze optie kan worden ingesteld op false om de Storage-API niet te gebruiken en in plaats daarvan REST API's te gebruiken. |
Time-outduur van verbinding | De standaardverbindingsinstelling (in seconden) waarmee wordt bepaald hoe lang Power Query wacht totdat een verbinding is voltooid. U kunt deze waarde wijzigen als de verbinding niet vóór 15 seconden is voltooid (de standaardwaarde.) |
Time-outduur van opdracht | Hoe lang Power Query wacht totdat een query is voltooid en resultaten retourneert. De standaardwaarde is afhankelijk van de standaardwaarde van het stuurprogramma. U kunt binnen enkele minuten een andere waarde invoeren om de verbinding langer open te houden. |
Project-id | Het project waarvoor u systeemeigen query's wilt uitvoeren. Deze optie is alleen beschikbaar in Power Query Desktop. |
SQL statement | Ga voor informatie naar Gegevens importeren uit een database met behulp van een systeemeigen databasequery. In deze versie van systeemeigen databasequeryfunctionaliteit moet u bijvoorbeeld volledig gekwalificeerde tabelnamen gebruiken in de indelingDatabase.Schema.Table SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE . Deze optie is alleen beschikbaar in Power Query Desktop. |
Zodra u de geavanceerde opties hebt geselecteerd die u nodig hebt, selecteert u OK in Power Query Desktop of Volgende in Power Query Online om verbinding te maken met uw Google BigQuery-gegevens.
Beperkingen en overwegingen
In deze sectie worden eventuele beperkingen of overwegingen van de Google BigQuery-connector beschreven.
Verbinding maken met Google BigQuery in Power BI Desktop
Er zijn enkele limieten en overwegingen waarmee u rekening moet houden bij het gebruik van de Google BigQuery-connector met Power BI.
Beschikbaarheid van connector
De Google BigQuery-connector is beschikbaar in Power BI Desktop en in de Power BI-service. In de Power BI-service is de connector toegankelijk via de cloud-naar-cloud-verbinding van Power BI naar Google BigQuery.
Fout 'Toegang geweigerd'
Wanneer u vanuit Power BI Desktop verbinding probeert te maken met Google BigQuery, wordt mogelijk het volgende foutbericht weergegeven:
Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.
In dit geval moet u mogelijk een factureringsproject-id invoeren in de geavanceerde optie Factureringsproject in de verbindingsinstellingen van Power Query.
Als u ook een rapport maakt in Power BI-service met behulp van een gateway, wordt deze fout mogelijk nog steeds weergegeven. In dit geval moet u de factureringsproject-id handmatig opnemen in de M-code voor de verbinding met behulp van de Power Query-editor of de Power Query-formulebalk. Voorbeeld:
Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
Geneste velden
Om prestatieoverwegingen te optimaliseren, werkt Google BigQuery goed met grote gegevenssets wanneer deze worden gedenormaliseerd, afgevlakt en genest.
De Google BigQuery-connector ondersteunt geneste velden die worden geladen als tekstkolommen in JSON-indeling.
Gebruikers moeten Gegevens transformeren selecteren en vervolgens de JSON-parseringsmogelijkheden in de Power Query-editor gebruiken om de gegevens te extraheren.
- Selecteer op het linttabblad Transformaties de categorie Tekstkolom, parseren en vervolgens JSON.
- Extraheer de JSON-recordvelden met behulp van de optie Kolom uitvouwen.
Een Google-serviceaccount instellen
Ga voor meer informatie over het instellen of gebruiken van Google-serviceaccounts naar Het maken en beheren van serviceaccountsleutels in de Google-documenten.
Verifiëren via een Google-serviceaccount
Wanneer u zich verifieert via een Google-serviceaccount in Power BI Desktop, is er een specifieke referentie-indeling vereist voor de connector.
- E-mailadres van serviceaccount: moet de e-mailindeling hebben
- Inhoud van het JSON-sleutelbestand van het serviceaccount: nadat deze JSON-sleutel is gedownload, moeten alle nieuwe regels uit het bestand worden verwijderd, zodat de inhoud op één regel staat. Zodra het JSON-bestand in die indeling is, kan de inhoud in dit veld worden geplakt.
Wanneer u zich verifieert via een Google-serviceaccount in Power BI-service of Power Query Online, moeten gebruikers basisverificatie gebruiken. Het veld Gebruikersnaam wordt toegewezen aan het veld E-mailadres van het serviceaccount en het veld Wachtwoord wordt toegewezen aan het veld JSON-sleutelbestand voor het serviceaccount. De indelingsvereisten voor elke referentie blijven hetzelfde in power BI Desktop, Power BI-service en Power Query Online.
Kan niet verifiëren met Google BigQuery Storage-API
De Google BigQuery-connector maakt standaard gebruik van de Google BigQuery Storage-API . Deze functie wordt beheerd door de geavanceerde optie UseStorageApi. Mogelijk ondervindt u problemen met deze functie als u gedetailleerde machtigingen gebruikt. In dit scenario ziet u mogelijk het volgende foutbericht of kunt u geen gegevens ophalen uit uw query:
ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions
U kunt dit probleem oplossen door de gebruikersmachtigingen voor de BigQuery Storage-API correct aan te passen. Deze machtigingen voor opslag-API's zijn vereist voor toegang tot gegevens correct met de BigQueryStorage-API:
bigquery.readsessions.create
: Hiermee maakt u een nieuwe leessessie via de BigQuery Storage-API.bigquery.readsessions.getData
: leest gegevens uit een leessessie via de BigQuery Storage-API.bigquery.readsessions.update
: Hiermee werkt u een leessessie bij via de BigQuery Storage-API.
Deze machtigingen worden doorgaans opgegeven in de BigQuery.User
rol. Meer informatie, vooraf gedefinieerde rollen en machtigingen van Google BigQuery
Als de bovenstaande stappen het probleem niet oplossen, kunt u de BigQuery Storage-API uitschakelen.
Kan gegevens van het type DateTime niet gebruiken in de modus Direct Query
Er is een bekend probleem waarbij het type DateTime niet wordt ondersteund via Direct Query. Als u een kolom selecteert met het type DateTime, wordt de fout Ongeldige query of een visuele fout veroorzaakt.
Beperkingen voor het uitvoeren van query's op kolommen met dezelfde naam als de tabelnaam
Wanneer u een query uitvoert op een kolom met dezelfde naam als de tabelnaam, interpreteert BigQuery de kolom als een struct
kolom die alle kolommen in de tabel bevat in plaats van de opgegeven kolom. Retourneert bijvoorbeeld SELECT debug FROM dataset.debug
een struct
met alle kolommen in de foutopsporingstabel in plaats van de opgegeven kolom voor foutopsporing. Dit gedrag is niet intuïtief en er wordt een oplossing onderzocht. Er zijn drie tijdelijke oplossingen beschikbaar:
- Tijdelijke oplossing 1: De tabel verpakken met een weergave die geen conflict veroorzaakt met de kolomnaam:
CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
- Tijdelijke oplossing 2: Wijzig de naam van de kolom om conflicten met de tabelnaam te voorkomen:
ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
- Tijdelijke oplossing 3: Wijzig de SELECT-query om table.column te gebruiken om te verwijzen naar de conflictkolom:
SELECT debug.debug FROM dataset.debug
Gerealiseerde weergaven worden niet ondersteund in de Power BI Desktop-navigator
Een bekend probleem is dat de Google BigQuery-connector momenteel geen gerealiseerde weergaven ondersteunt in de Power BI Desktop-navigator.
- Tijdelijke oplossing: gebruik systeemeigen SQL-instructies voor query's om gerealiseerde weergaven op te halen uit Google BigQuery.
HTTP-fout 403: quotaExceeded (quotum overschreden: uw gebruiker heeft het quotum overschreden voor gelijktijdige aanvragen van project.lists)
- Het quotum wordt overschreden voor het gebruik van het klantaccount van project.lists API-aanroepen naar Google. Wanneer meerdere rapporten tegelijkertijd worden vernieuwd, kan er een fout optreden in verschillende query's of rapporten. Om de fout te voorkomen, plant u vernieuwingen van rapporten met verspringende intervallen.
- Werk de query bij om een factureringsproject-id op te nemen -
GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
. - Aanroepen moeten
GoogleBigQuery.Database
zich in dezelfde query bevinden als het schema en de tabelselectie om de fout te voorkomen.