メインコンテンツへスキップ

はじめに

BigQueryは、データを作成、管理、共有、クエリするためのデータプラットフォームです。DomoのGoogle BigQuery High Bandwidth Serviceコネクターを使用すると、Google Cloud Storageサービスを利用してBigQueryから大きな結果を取得できます。BigQuery APIの詳細については、https://cloud.google.com/bigquery/docs/reference/v2/ を参照してください。 Google BigQuery High Bandwidth Serviceコネクターは「クラウドApp」コネクターであり、クラウドに保管されたデータを取得できます。Data Centerでウィンドウ上部のツールバーで [クラウドApp] をクリックすると、このコネクターやほかのクラウドAppコネクターのページにアクセスできます。 このトピックでは、Google BigQuery High Bandwidth Serviceコネクターのユーザーインターフェースに固有のフィールドとメニューについて説明します。DataSetの追加や更新スケジュールの設定、DataSet情報の編集に関する一般的な情報については、「 コネクターを使用してDataSetを追加する 」を参照してください。

必要条件

BigQueryに接続してDataSetを作成するには、以下が必要です。
  • JSON BigQueryサービスアカウントキー
  • JSON Google Cloud Storage Serviceアカウントキー
必要なサービスアカウントキーを生成するには、次の手順を実行します :
  1. Google Cloud Platform Consoleで、[IAM & Admin] ページを開きます。
IAM_Admin_-_Services.png
  1. [Service accounts] をクリックします。
  2. プロジェクトを選択して [Open] をクリックします。
  3. [Create Service Account] をクリックします。
Create_service_account1.png
  1. サービスアカウントの名前と説明を入力します。
  2. [Create] をクリックします。
  3. このサービスアカウントのプロジェクトへのアクセスを許可するには、[Select a role] ドロップダウンをクリックします。
  4. [Project] をクリックしてから [Owner] をクリックします。
Select_Project_Owner.png
  1. 所有者が権限フィールドに表示されます。
  2. [Continue] をクリックします。
  3. [Create key] をクリックします。
Create_key1.png
  1. キーのタイプに [JSON] を選択します。
Create_key_json2.png
  1. [Create] をクリックします。
秘密キーがコンピューターに保存されます。
サービスキーについて、以下の権限を含めます 。
BIGQUERY ROLES bigquery.datasets.get bigquery.jobs.create bigquery.jobs.get bigquery.jobs.list bigquery.tables.list bigquery.tables.export bigquery.tables.create bigquery.tables.delete CLOUD STORAGE ROLES storage.buckets.get storage.buckets.list storage.objects.create storage.objects.delete storage.objects.get storage.objects.list

BigQueryに接続する

このセクションでは、Google BigQuery High Bandwidth Serviceコネクターページの [認証情報] ペインと [詳細] ペインのオプションについて説明します。このページのほかのペインの項目である [スケジュール設定][DataSetに名前を付け、説明を入力] に関しては、ほとんどのタイプのコネクターで共通しています。詳細については、「 コネクターを使用してDataSetを追加する 」を参照してください。 ネストや繰り返しのあるデータをCSVフォーマットでエクスポートすることはできません。Avro、JSON、Parquetのエクスポートでは、ネストや繰り返しのあるデータがサポートされています。 基本的に、タイプがアレイの列がある場合、BigQueryではそのデータをCSVフォーマットでアンロードすることはサポートしていません。 アンロードを正常に実行するには、アレイの列を除外するか、アレイの列のネストを解除する必要があります。

[認証情報]ペイン

このペインには、 BigQuery Unload アカウントに接続するための認証情報を入力するフィールドがあります。下表では、各フィールドに必要な内容を説明しています。

フィールド

説明

Service Account Key JSON BigQuery Google BigQuery JSONサービスアカウントキーを入力します。
Service Account Key JSON Google Cloud Storage Google Cloud Storage JSONサービスアカウントキーを入力します。
有効な認証情報を入力した後は、新しい Google BigQuery High Bandwidth Service DataSetを作成する際に常に同じアカウントを使用できるようになります。コネクターアカウントは、Data Centerの [アカウント] タブで管理できます。このタブの詳細については、「 コネクターのユーザーアカウントを管理する 」を参照してください。

[詳細]ペイン

このペインには、メインとなる [Reports] メニューのほか、選択したレポートタイプに応じて表示/非表示になる様々なメニューが含まれています。

メニュー

説明

Query BigQuery SQLクエリを実行し、クエリが完了した場合に結果を返します。
DataSet ID データのBigQuery DataSet IDを選択します。
BigQueryのDataSetの詳細については、ウェブサイト( https://cloud.google.com/bigquery/docs/datasets-intro )を参照してください。
Google Cloud Storage bucket name データをDomoに転送する際に一時保存に使用するGoogle Cloud Storageのバケット名を選択します。
Query 実行するクエリを入力します。標準のSQLクエリのみサポートされています。例:Select * from Table_Name。
Partition query to determine partition tags パーティションタグを特定するためのパーティションクエリを入力します。 日付 データを含む列は、パーティション列です。例:Select Date from Table_Name。
Force to string Domoで文字列として扱う必要のあるフィールドを、カンマ区切りのリストとして入力します。
Force to number Domoで数値として扱う必要のあるフィールドを、カンマ区切りのリストとして入力します。
How would you like to pull your data? データを取得する方法を選択します。
Partition column name パーティション列の名前を入力します。 日付 データを含む列は、パーティション列です。
Upsert key columns Upsertするキー列の名前を、カンマ区切りのリストとして入力します。
Days Back データを取得するのに遡る日数です。例:過去7日間のデータを取得するには7を指定します。
Data Rolling Window データは指定された日数で保存されます。例:60日間データを保存するには60を指定します。
SQLクエリとパーティションクエリを入力する
clipboard_ecd64363a5df614584835f22327e84ce7.png
パーティション列の名前とほかのパラメーターを入力する
2._Query___Rolling_window___Column_name.png
データは [Days Back] フィールドで指定された日数で取得され、 [Data Rolling Window] フィールドで指定された日数で保存されます。
注記: パーティションオプションを使用する場合、DataSetを[Replace]ではなく、 [Append] に設定する必要があります。
Upsertモードを使用する
3._Upsert_method.png

その他のペイン

スケジュール設定、再試行、更新に関するオプションなど、コネクターインターフェースのその他のペインに表示されるオプションについては、「 コネクターを使用してDataSetを追加する 」を参照してください。
注記: 現在、このコネクターは日付パーティションのみをサポートしています。

トラブルシューティング

データの行が返されないが、実行履歴に行がある場合は、どのようにしますか?

Google APIドキュメントには、BigQueryとCloud Storageは次のルールに従う必要があると記載されています。
  • BigQuery DataSetが特定の場所にある場合は、Cloud Storageを同じ場所に配置する必要があります。
  • BigQuery DataSetがマルチリージョンにある場合は、Cloud Storageも同じマルチリージョンにあるか、そのマルチリージョンに含まれている場所にある必要があります。
APIドキュメントでの記載については、「 Cloud Storage 」を参照してください。 バケットの場所については、 https://cloud.google.com/storage/docs/locations を参照してください。