Google BigQuery

Podsumowanie

Element opis
Stan wydania Ogólna dostępność
Produkty Power BI (modele semantyczne)
Power BI (przepływy danych)
Sieć szkieletowa (Dataflow Gen2)
Power Apps (przepływy danych)
Customer Insights (przepływy danych)
Obsługiwane typy uwierzytelniania Konto organizacji
Konto usługi

Uwaga

Niektóre funkcje mogą być obecne w jednym produkcie, ale nie w innych ze względu na harmonogramy wdrażania i możliwości specyficzne dla hosta.

Uwaga

Od lipca 2021 r. firma Google zaprzestała obsługi logowania się do kont Google z osadzonych platform przeglądarki. Ze względu na tę zmianę należy zaktualizować wersję programu Power BI Desktop do czerwca 2021 r. lub nowszej, aby umożliwić logowanie się do usługi Google.

Wymagania wstępne

Musisz mieć konto Google lub konto usługi Google, aby zalogować się do usługi Google BigQuery.

Obsługiwane funkcje

  • Importuj
  • Tryb DirectQuery (modele semantyczne usługi Power BI)

Nawiązywanie połączenia z danymi usługi Google BigQuery z poziomu programu Power Query Desktop

Aby nawiązać połączenie z usługą Google BigQuery z poziomu programu Power Query Desktop, wykonaj następujące kroki:

  1. Wybierz pozycję Google BigQuery w środowisku pobierania danych. Środowisko pobierania danych w programie Power Query Desktop różni się między aplikacjami. Aby uzyskać więcej informacji na temat środowiska pobierania danych dla aplikacji w programie Power Query Desktop, zobacz Gdzie uzyskać dane.

  2. Jeśli chcesz użyć dowolnych opcji zaawansowanych, wybierz pozycję Opcje zaawansowane. W przeciwnym razie wybierz przycisk OK , aby kontynuować. Więcej informacji: Nawiązywanie połączenia przy użyciu opcji zaawansowanych

    Obraz przedstawiający początkowe okno dialogowe z wyborem opcji zaawansowanych.

  3. Łącznik Google BigQuery obsługuje nawiązywanie połączenia za pośrednictwem konta organizacyjnego lub logowania do konta usługi. W tym przykładzie użyj konta organizacyjnego, aby się zalogować. Wybierz pozycję Zaloguj się , aby kontynuować.

    Zaloguj się do usługi Google BigQuery.

    Możesz również zalogować się przy użyciu konta usługi Google. W takim przypadku wybierz pozycję Logowanie do konta usługi i wprowadź adres e-mail konta usługi oraz zawartość pliku klucza JSON konta usługi. Następnie wybierz pozycję Połącz.

  4. Zostanie wyświetlone okno dialogowe Logowanie przy użyciu google . Wybierz konto Google i zatwierdź połączenie z programem Power BI Desktop.

    Zaloguj się do google.

  5. Po zalogowaniu wybierz pozycję Połącz , aby kontynuować.

    Nawiązywanie połączenia z danymi BigQuery firmy Google.

  6. Po pomyślnym nawiązaniu połączenia zostanie wyświetlone okno Nawigator i wyświetli dane dostępne na serwerze. Wybierz swoje dane w nawigatorze. Następnie wybierz pozycję Przekształć dane , aby przekształcić dane w dodatku Power Query lub Załaduj , aby załadować dane w programie Power BI Desktop.

    Obraz przedstawiający nawigator Power Query ładujący dane Google BigQuery do aplikacji klasycznej.

Nawiązywanie połączenia z danymi usługi Google BigQuery z poziomu usługi Power Query Online

Aby nawiązać połączenie z usługą Google BigQuery z usługi Power Query Online, wykonaj następujące kroki:

  1. Wybierz opcję Google BigQuery w środowisku pobierania danych. Różne aplikacje mają różne sposoby uzyskiwania danych w usłudze Power Query Online. Aby uzyskać więcej informacji na temat sposobu uzyskiwania danych z aplikacji w usłudze Power Query Online, przejdź do obszaru Gdzie uzyskać dane.

    Zrzut ekranu przedstawiający okno dialogowe Pobieranie danych z naciskiem na łącznik Google BigQuery.

  2. W oknie dialogowym Baza danych Google BigQuery może być konieczne utworzenie nowego połączenia lub wybranie istniejącego połączenia. Jeśli używasz danych lokalnych, wybierz lokalną bramę danych. Następnie kliknij przycisk Zaloguj.

    Obraz przedstawiający okno dialogowe logowania.

  3. Zostanie wyświetlone okno dialogowe Logowanie przy użyciu google . Wybierz konto Google i zatwierdź połączenie.

    Uwaga

    Mimo że okno dialogowe logowania mówi, że po zalogowaniu się będziesz nadal korzystać z programu Power BI Desktop, zamiast tego zostaniesz wysłany do aplikacji online.

    Obraz przedstawiający okno dialogowe logowania Google.

  4. Jeśli chcesz użyć dowolnych opcji zaawansowanych, wybierz pozycję Opcje zaawansowane. Więcej informacji: Nawiązywanie połączenia przy użyciu opcji zaawansowanych

  5. Po zalogowaniu wybierz przycisk Dalej , aby kontynuować.

    Obraz przedstawiający pomyślnie zalogowanego użytkownika.

  6. Po pomyślnym nawiązaniu połączenia zostanie wyświetlone okno Nawigator i wyświetli dane dostępne na serwerze. Wybierz swoje dane w nawigatorze. Następnie wybierz przycisk Dalej , aby przekształcić dane w dodatku Power Query.

    Obraz przedstawiający nawigator Power Query ładujący dane Google BigQuery do aplikacji online.

Nawiązywanie połączenia przy użyciu opcji zaawansowanych

Programy Power Query Desktop i Power Query Online udostępniają zestaw zaawansowanych opcji, które można dodać do zapytania w razie potrzeby.

Wyświetlanie opcji zaawansowanych dostępnych w programie Power Query Desktop.

W poniższej tabeli wymieniono wszystkie opcje zaawansowane, które można ustawić w programie Power Query Desktop i dodatku Power Query Online.

Opcja zaawansowana opis
Identyfikator projektu rozliczeniowego Projekt, dla którego zapytanie Power Query będzie uruchamiać zapytania. Uprawnienia i rozliczenia są powiązane z tym projektem. Jeśli nie podano identyfikatora projektu rozliczeniowego, domyślnie będzie używany pierwszy dostępny projekt zwrócony przez interfejsy API Google.
Korzystanie z interfejsu API usługi Storage Flaga umożliwiająca korzystanie z interfejsu API usługi Storage w usłudze Google BigQuery. Ta opcja jest domyślnie prawdziwa. Tę opcję można ustawić na wartość false, aby nie używać interfejsu API usługi Storage i zamiast tego używać interfejsów API REST.
Czas trwania przekroczenia limitu czasu połączenia Standardowe ustawienie połączenia (w sekundach), które kontroluje czas oczekiwania dodatku Power Query na ukończenie połączenia. Tę wartość można zmienić, jeśli połączenie nie zostanie ukończone przed 15 sekundami (wartość domyślna).
Czas trwania limitu czasu polecenia Jak długo program Power Query czeka na ukończenie zapytania i zwraca wyniki. Wartość domyślna zależy od domyślnego sterownika. Możesz wprowadzić kolejną wartość w ciągu kilku minut, aby połączenie było otwarte dłużej.
Identyfikator projektu Projekt, dla którego chcesz uruchamiać zapytania natywne. Ta opcja jest dostępna tylko w programie Power Query Desktop.
SQL statement Aby uzyskać informacje, przejdź do tematu Importowanie danych z bazy danych przy użyciu natywnego zapytania bazy danych. W tej wersji natywnej funkcji zapytań bazy danych należy użyć w pełni kwalifikowanych nazw tabel w formacie Database.Schema.Table, na przykład SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE. Ta opcja jest dostępna tylko w programie Power Query Desktop.

Po wybraniu potrzebnych opcji zaawansowanych wybierz przycisk OK w programie Power Query Desktop lub Dalej w usłudze Power Query Online, aby nawiązać połączenie z danymi Google BigQuery.

Ograniczenia i istotne zagadnienia

W tej sekcji opisano wszelkie ograniczenia lub zagadnienia dotyczące łącznika Google BigQuery.

Nawiązywanie połączenia z usługą Google BigQuery w programie Power BI Desktop

Istnieje kilka ograniczeń i zagadnień, które należy wziąć pod uwagę podczas korzystania z łącznika Google BigQuery w usłudze Power BI.

Dostępność łącznika

Łącznik Google BigQuery jest dostępny w programie Power BI Desktop i w usługa Power BI. W usługa Power BI można uzyskać dostęp do łącznika przy użyciu połączenia chmura-chmura z usługi Power BI do usługi Google BigQuery.

Błąd "Odmowa dostępu"

Podczas próby nawiązania połączenia z usługą Google BigQuery z poziomu programu Power BI Desktop może zostać wyświetlony następujący komunikat o błędzie:

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

W takim przypadku może być konieczne wprowadzenie identyfikatora projektu rozliczeniowego w zaawansowanej opcji Projekt rozliczeniowy w ustawieniach połączenia Dodatku Power Query.

Ponadto jeśli utworzysz raport w usługa Power BI przy użyciu bramy, nadal może wystąpić ten błąd. W takim przypadku należy ręcznie uwzględnić identyfikator projektu rozliczeniowego w kodzie języka M dla połączenia przy użyciu edytora Power Query lub paska formuły Power Query. Na przykład:

Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])

Pola zagnieżdżone

Aby zoptymalizować zagadnienia dotyczące wydajności, funkcja Google BigQuery dobrze sprawdza się w przypadku dużych zestawów danych w przypadku zdenormalizowania, spłaszczenia i zagnieżdżenia.

Łącznik Google BigQuery obsługuje zagnieżdżone pola, które są ładowane jako kolumny tekstowe w formacie JSON.

Obsługa pól zagnieżdżonych w usłudze Google BigQuery.

Użytkownicy powinni wybrać pozycję Przekształć dane, a następnie użyć możliwości analizowania JSON w Edytor Power Query w celu wyodrębnienia danych.

  1. Na karcie wstążki Przekształcenia kategoria Kolumna tekstowa wybierz pozycję Przeanalizuj, a następnie pozycję JSON.
  2. Wyodrębnij pola rekordów JSON przy użyciu opcji Rozwiń kolumnę .

Konfigurowanie konta usługi Google

Aby uzyskać więcej informacji na temat konfigurowania lub używania kont usług Google, zobacz Tworzenie kluczy kont usług i zarządzanie nimi w dokumentacji google.

Uwierzytelnianie za pośrednictwem konta usługi Google

Podczas uwierzytelniania za pośrednictwem konta usługi Google w programie Power BI Desktop istnieje określony format poświadczeń wymagany przez łącznik.

  • Adres e-mail konta usługi: musi mieć format poczty e-mail
  • Zawartość pliku klucza JSON konta usługi: po pobraniu tego klucza JSON wszystkie nowe wiersze muszą zostać usunięte z pliku, aby zawartość znajdowała się w jednym wierszu. Gdy plik JSON jest w tym formacie, zawartość można wkleić w tym polu.

Podczas uwierzytelniania za pośrednictwem konta usługi Google w usłudze usługa Power BI lub Power Query Online użytkownicy muszą używać uwierzytelniania "Podstawowe". Pole Nazwa użytkownika mapuje na pole Adres e-mail konta usługi, a pole Hasło jest mapowanie na pole zawartość pliku klucza JSON konta usługi. Wymagania dotyczące formatu poszczególnych poświadczeń pozostają takie same zarówno w programie Power BI Desktop, usługa Power BI, jak i w usłudze Power Query Online.

Nie można uwierzytelnić się za pomocą interfejsu API usługi Google BigQuery Storage

Łącznik Google BigQuery domyślnie używa interfejsu API usługi Google BigQuery Storage. Ta funkcja jest kontrolowana przez zaawansowaną opcję UseStorageApi. Jeśli używasz szczegółowych uprawnień, możesz napotkać problemy z tą funkcją. W tym scenariuszu może zostać wyświetlony następujący komunikat o błędzie lub nie można pobrać żadnych danych z zapytania:

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions

Ten problem można rozwiązać, dostosowując uprawnienia użytkownika dla interfejsu API usługi BigQuery Storage poprawnie. Te uprawnienia interfejsu API magazynu są wymagane do poprawnego uzyskiwania dostępu do danych za pomocą interfejsu API BigQueryStorage:

  • bigquery.readsessions.create: tworzy nową sesję odczytu za pośrednictwem interfejsu API usługi BigQuery Storage.
  • bigquery.readsessions.getData: odczytuje dane z sesji odczytu za pośrednictwem interfejsu API usługi BigQuery Storage.
  • bigquery.readsessions.update: aktualizuje sesję odczytu za pośrednictwem interfejsu API usługi BigQuery Storage.

Te uprawnienia są zwykle udostępniane w BigQuery.User roli. Więcej informacji, Google BigQuery wstępnie zdefiniowane role i uprawnienia

Jeśli powyższe kroki nie rozwiążą problemu, możesz wyłączyć interfejs API magazynu BigQuery.

Nie można użyć danych typu DateTime w trybie zapytania bezpośredniego

Istnieje znany problem polegający na tym, że typ DateTime nie jest obsługiwany za pomocą zapytania bezpośredniego. Wybranie kolumny z typem DateTime powoduje błąd "Nieprawidłowe zapytanie" lub błąd wizualizacji.

Ograniczenia dotyczące wykonywania zapytań dotyczących kolumny o takiej samej nazwie jak nazwa tabeli

Podczas wykonywania zapytań dotyczących kolumny o takiej samej nazwie jak nazwa tabeli funkcja BigQuery interpretuje kolumnę jako kolumnę zawierającą struct wszystkie kolumny w tabeli zamiast określonej kolumny. Na przykład SELECT debug FROM dataset.debug zwraca obiekt struct ze wszystkimi kolumnami w tabeli debugowania zamiast określonej kolumny debugowania. To zachowanie nie jest intuicyjne, a poprawka jest badana. Dostępne są trzy obejścia:

  • Obejście 1. Zawijanie tabeli z widokiem, który nie powoduje konfliktu nazwy kolumny —CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Obejście 2. Zmień nazwę kolumny, aby uniknąć konfliktów z nazwą tabeli —ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Obejście 3. Zmień zapytanie SELECT, aby użyć kolumny table.column w celu odwołania się do kolumny powodującej konflikt—SELECT debug.debug FROM dataset.debug

Zmaterializowane widoki nie są obsługiwane w nawigatorze programu Power BI Desktop

Znany problem polega na tym, że łącznik Google BigQuery nie obsługuje obecnie zmaterializowanych widoków w nawigatorze programu Power BI Desktop.

  • Obejście: Skorzystaj z natywnych instrukcji SQL zapytań, aby pobrać zmaterializowane widoki z usługi Google BigQuery.

Błąd HTTP 403: quotaExceeded (Przekroczono limit przydziału: Przekroczono limit przydziału dla współbieżnych żądań project.list)

  • Przekroczono limit przydziału dla użycia konta klienta w wywołaniach interfejsu API project.lists do firmy Google. W przypadku jednoczesnego odświeżania wielu raportów może to spowodować wystąpienie błędu w różnych zapytaniach lub raportach. Aby zapobiec błędowi, zaplanuj odświeżanie raportu w odstępach czasu.
  • Zaktualizuj zapytanie, aby uwzględnić identyfikator projektu rozliczeniowego — GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"]).
  • Wywołania do powinny znajdować GoogleBigQuery.Database się w tym samym zapytaniu co wybór schematu i tabeli, aby uniknąć błędu.