BI Engine と Tableau を使用してデータを分析する
BigQuery BI Engine では、BigQuery を基盤としたレポートとダッシュボードを使用して、高速で低レイテンシの分析サービスとインタラクティブな分析を実行できます。
この入門チュートリアルは、ビジネス インテリジェンス(BI)ツール Tableau を使用してレポートとダッシュボードを構築するデータ アナリストとビジネス アナリストを対象としています。
目標
このチュートリアルでは、次のタスクを行います。
- BI 予約を作成し、Google Cloud コンソールを使用して容量を追加する。
- Tableau を使用して、BI Engine によって管理される BigQuery テーブルに接続する。
- Tableau を使用してダッシュボードを作成する。
料金
BigQuery BI Engine SQL インターフェースの料金は、BI Engine の料金ページに記載されている料金モデルと同じです。
始める前に
作業を始める前に、使用するプロジェクトを所有し、そのプロジェクトで課金が有効になっていることと、BigQuery API が有効になっていることを確認してください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- 新しいプロジェクトでは、BigQuery API が自動的に有効になります。既存のプロジェクトで BigQuery API を有効にするには、
Enable the BigQuery API.
に移動します。
必要な権限
クエリの実行、ジョブの実行、データの表示に必要な権限を取得するには、BigQuery 管理者(roles/bigquery.admin
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Tableau でカスタム OAuth クライアントを使用して BigQuery に接続する場合は、追加の権限が必要になることがあります。詳細については、エラーのトラブルシューティングをご覧ください。
BigQuery データセットを作成する
まず、BI Engine マネージド テーブルを格納する BigQuery データセットを作成します。データセットを作成する手順は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
ナビゲーション パネルの [エクスプローラ] パネルで、プロジェクト名をクリックします。
詳細パネルで、
(アクションを表示)をクリックし、[データセットを作成] をクリックします。[データセットの作成] ページで、次の操作を行います。
- [データセット ID] に「
biengine_tutorial
」と入力します。 [データのロケーション] で、us(米国の複数のリージョン)と、一般公開データセットが保存されるマルチリージョンのロケーションを選択します。
このチュートリアルでは、[テーブルの有効期限を有効にする] を選択し、テーブルが期限切れになるまでの日数を指定できます。
- [データセット ID] に「
その他のデフォルト設定はすべてそのままにし、[データセットを作成] をクリックします。
一般公開データセットからデータをコピーしてテーブルを作成する
このチュートリアルでは、Google Cloud 一般公開データセット プログラムを通じて提供されているデータセットを使用します。一般公開データセットは BigQuery でホストされ、ユーザーがアクセスして独自のアプリケーションに統合できます。
このセクションでは、San Francisco 311 サービス リクエストのデータセットからデータをコピーしてテーブルを作成します。データセットは、Google Cloud コンソールで探すことができます。
テーブルを作成する
テーブルを作成する手順は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] パネルで「
san_francisco_311
」を検索します。[エクスプローラ] パネルで、[san_francisco_311] を開き、[311_service_requests] テーブルをクリックします。
エクスプローラのツールバーで [コピー] をクリックします。
[テーブルのコピー] ダイアログの [宛先] セクションで、次の操作を行います。
- [プロジェクト名] で [参照] をクリックし、プロジェクトを選択します。
- [データセット名] で [biengine_tutorial] を選択します。
テーブル名に「
311_service_requests_copy
」と入力します。
[コピー] をクリックします。
省略可: コピージョブが完了したら、
PROJECT_NAME
> biengine_tutorial を開き、311_service_requests_copy > [プレビュー] をクリックして、テーブルの内容を確認します。PROJECT_NAME
は、このチュートリアルで使用する Google Cloud プロジェクトの名前に置き換えます。
BI Engine 予約を作成する
Google Cloud コンソールで、[管理] の下にある [BI Engine] ページに移動します。
[
予約を作成] をクリックします。[予約の作成] ページで、BI Engine の予約を構成します。
- [プロジェクト] リストで、Google Cloud プロジェクトを確認します。
- [ロケーション] リストで、ロケーションを選択します。ロケーションは、クエリするデータセットのロケーションと一致する必要があります。
[容量(GiB)] スライダーを、予約するメモリ容量に合わせます。次の例では、容量を 2 GiB に設定しています。最大値は 250 GiB です。
[次へ] をクリックします。
[優先テーブル] セクションで、必要に応じて BI Engine で高速化するテーブルを指定します。テーブル名を調べる手順は次のとおりです。
- [テーブル ID] フィールドに、BI Engine で高速化するテーブルの名前の一部を入力します(例:
311
)。 名前の候補リストから、テーブル名を選択します。
指定したテーブルのみが高速化の対象となります。優先テーブルが指定されていない場合は、すべてのプロジェクト クエリが高速化の対象となります。
- [テーブル ID] フィールドに、BI Engine で高速化するテーブルの名前の一部を入力します(例:
[次へ] をクリックします。
[確認して送信] セクションで、内容を確認します。
利用規約に同意する場合は、[作成] をクリックします。
予約を確認すると、[予約] ページに詳細が表示されます。
Tableau からデータセットに接続する
Tableau からデータセットに接続するには、Tableau でいくつかの手順を実施した後、BI Engine でいくつかの手順を行う必要があります。
Tableau で行う手順
- Tableau Desktop を起動します。
- [Connect] で [Google BigQuery] を選択します。
- 開いたタブで、アクセスする BigQuery データを含むアカウントを選択します。
- まだログインしていない場合は、メールアドレスまたは電話番号を入力し、[Next] を選択してパスワードを入力します。
- [Accept] を選択します。
これで Tableau が BigQuery データにアクセスできるようになりました。
Tableau Desktop の [Data Source] ページで、次の操作を行います。
- [Billing Project] プルダウンから、予約を作成した課金プロジェクトを選択します。
- [Project] のプルダウンからプロジェクトを選択します。
- [Dataset] プルダウンからデータセット
biengine_tutorial
を選択します。 - [Table] でテーブル
311_service_requests_copy
を選択します。
グラフの作成
データソースをレポートに追加したら、次にデータを可視化します。
地域別の上位の苦情を表示するグラフを作成します。
- Google Cloud コンソールで、[新しいワークシート] をクリックします。
- [ディメンション] を [苦情の種類] に設定します。
neighborhood
というディメンションに基づいてフィルタします。- [測定] で、[レコード数] を選択します。
- [Neighborhood] フィルタを右クリックし、[フィルタを編集] をクリックします。
- null を除外するフィルタを追加し、[Null] を選択します。
- [OK] をクリックします。
詳細については、Tableau のドキュメントをご覧ください。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、プロジェクトと BI Engine 予約のどちらか、または両方を削除してください。
プロジェクトの削除
課金されないようにする最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
予約の削除
プロジェクトを残す場合は、容量の予約を削除することで、BI Engine の費用発生を回避できます。
予約を削除する手順は次のとおりです。
Google Cloud コンソールで、[管理] の下にある [BI Engine] ページに移動します。
[予約] セクションで、予約を探します。
[操作] 列で、予約の右側にある
アイコンをクリックし、[削除] を選択します。[予約を削除しますか?] ダイアログで「DELETE」と入力して、[削除] をクリックします。
エラーのトラブルシューティング
Tableau のカスタム OAuth 構成を使用して BigQuery に接続する場合、一部のユーザーが Tableau サーバーに接続する際に問題が発生し、次のエラー メッセージが表示されることがあります。
the app is blocked
このエラーを解決するには、Tableau を BigQuery に接続するために必要なすべての権限を持つロールがユーザーに割り当てられていることを確認します。問題が解決しない場合は、ユーザーを OAuth 構成閲覧者(roles/oauthconfig.viewer
)ロールに追加します。
次のステップ
- BI Engine SQL インターフェースの概要については、BI Engine SQL インターフェースをご覧ください。