データポータルで使ってみる

BigQuery BI Engine は、高速なメモリ内分析サービスです。BI Engine を使用すると、BigQuery に保存されたデータを分析できます。クエリ応答時間は 1 秒未満で、同時実行性にも優れています。

BI Engine は Google データポータルなどの使い慣れた Google ツールと統合され、データの探索と分析を高速化します。BI Engine を使用すると、パフォーマンス、スケーリング、セキュリティ、データの鮮度を損なうことなく、データポータルで高機能かつインタラクティブなダッシュボードとレポートを作成できます。

目標

このチュートリアルの内容は次のとおりです。

  • BigQuery 管理コンソールを使用して BI Engine 容量の予約を作成します。
  • データポータルを使用して、BI Engine で管理されている BigQuery テーブルに接続します。
  • BI Engine 管理テーブルをクエリするデータポータル ダッシュボードを作成します。

費用

このチュートリアルでは、Google Cloud の課金対象となる以下のコンポーネントを使用します。

  • BI Engine: BI Engine で作成した予約の費用が発生します。
  • BigQuery: BigQuery で作成したテーブルのストレージ費用が発生します。

BI Engine の料金の詳細については、料金設定のページをご覧ください。

BigQuery ストレージの料金について詳しくは、BigQuery のドキュメントのストレージの料金をご覧ください。

始める前に

作業を開始する前に、使用するプロジェクト、そのプロジェクトの課金を有効にしたこと、BigQuery API を有効にしたことを確認します。

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. 新しいプロジェクトでは、BigQuery API が自動的に有効になります。既存のプロジェクトで BigQuery を有効にするには、 BigQuery API を有効にします。

    API を有効にする

    にアクセスします。

ステップ 1: BigQuery データセットを作成する

最初のステップは、BI Engine マネージド テーブルを格納するための BI Engine データセットを作成することです。データセットを作成するには、次の操作を行います。

  1. Cloud Console の BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. ナビゲーション パネルの [リソース] セクションで、プロジェクト名をクリックします。

  3. 右側の詳細パネルで、[データセットを作成] をクリックします。

  4. [データセットを作成] ページで次の操作を行います。

    • [データセット ID] に「biengine_tutorial」を入力します。
    • [データのロケーション] で [米国(US)] を選択します。現在、一般公開データセットは US マルチ リージョン ロケーションに保存されています。わかりやすくするため、データセットは同じロケーションに配置してください。

      データセットの作成ページ

  5. その他のデフォルト設定はすべてそのままにし、[データセットを作成] をクリックします。

ステップ 2: 一般公開データセットからデータをコピーしてテーブルを作成する

このチュートリアルでは、Google Cloud 一般公開データセット プログラムを通じて提供されているデータセットを使用します。一般公開データセットは、BI Engine に保存され、一般に公開されるデータセットです。この一般公開データセットは BI Engine でホストされ、ユーザーがアクセスして独自のアプリケーションに統合できます。Google では、これらのデータセットの保存費用を負担しており、プロジェクトを介してデータへの公開アクセスを提供しています。

データセットについて

このセクションでは、サンフランシスコ 311 サービス リクエスト データセットからデータをコピーしてテーブルを作成します。Google Cloud Console の BigQuery ウェブ UI を使用してデータセットを探索できます。

テーブルの作成

テーブルを作成するには、次の操作を行います。

  1. BigQuery ウェブ UI で SF 311 データセットを開きます。

    SF 311 データセットに移動

  2. ナビゲーション パネルで、[san_francisco_311] を展開し、[311_service_requests] テーブルをクリックします。

  3. ウィンドウの右側で、[テーブルをコピー] をクリックします。

  4. [テーブルをコピー] ダイアログの [コピー先] セクションで、次の操作を行います。

    • [プロジェクト名] でプロジェクトを選択します。
    • [データセット名] で [biengine_tutorial] が選択されていることを確認します。
    • [テーブル名] に「311_service_requests_copy」と入力します。

      SF 311 テーブルのコピー

    • [コピー] をクリックします。

  5. コピージョブが完了したら、[プロジェクト] > [biengine_tutorial] を展開し、[311_service_requests_copy] > [プレビュー] をクリックしてテーブルの内容を確認します。

ステップ 3: BI Engine の予約を作成する

  1. BigQuery 管理コンソールの [BI Engine] ページに移動します。

    BigQuery 管理コンソールに移動する

  2. [予約を作成] をクリックします。

  3. [予約を作成] ページで、[ステップ 1] の以下の手順を実行します。

    • プロジェクト名を確認します。
    • ロケーションを選択します。クエリするデータセットのロケーションと一致する必要があります。
    • 予約するメモリ容量にスライダーを調整します。次の例では、容量を 2 GB に設定しています。現在の最大値は 10 GB です。

      BI Engine 容量のロケーション

  4. [次へ] をクリックします。

  5. [ステップ 2] で、予約の詳細を確認し、[次へ] をクリックします。

  6. [ステップ 3] で契約を確認し、[作成] をクリックします。

  7. 予約を確認すると、[予約] ページに詳細が表示されます。

    確認された予約

ステップ 4: データポータルでデータソース接続を作成する

Google データポータルでレポートを作成する前に、レポートのデータソースを作成する必要があります。レポートには 1 つ以上のデータソースを含めることができます。 Google データポータルは、BigQuery コネクタを使用して、BI Engine が管理する BigQuery テーブルに接続します。

データポータルでデータソース接続を定義すると、BI Engine は構成されたテーブルと列を使用して、キャッシュに保存するデータを決定します。BI Engine は、レポートに追加した列のみをキャッシュに保存します。

必要な権限

BigQuery データソースを Google データポータルのレポートに追加するには、適切な権限が付与されている必要があります。さらに、BigQuery データセットに適用される権限は、Google データポータルで作成するレポート、グラフ、ダッシュボードにも適用されます。Google データポータルのレポートが共有されている場合、適切な権限を持っているユーザーのみがそのレポートのコンポーネントを表示できます。

レポートの入力に使用されるクエリジョブを実行するには、bigquery.jobs.create 権限が必要です。クエリジョブを正常に完了するには、クエリによって参照されるテーブルを含むデータセットへのアクセス権がユーザーまたはグループにできる必要があります。最低でも必要なアクセスレベルは「Can view」で、そのデータセットの bigquery.dataViewer ロールにマッピングします。

このチュートリアルで使用するデータセットを作成したため、データセットへのオーナー アクセス権が付与され、データセットを完全に制御できます。また、このチュートリアルで使用したプロジェクトを作成したので、プロジェクト レベルでオーナー アクセス権があります。オーナー アクセス権により、プロジェクトでジョブを実行できます。

権限の詳細

次の定義済みの IAM ロールを付与することで、プロジェクト レベルで bigquery.jobs.create 権限を設定できます。

  • bigquery.user
  • bigquery.jobUser
  • bigquery.admin

ユーザーまたはグループにプロジェク トレベルで bigquery.user ロールを付与すると、デフォルトでは、プロジェクト内のデータセット、テーブル、ビューへのアクセス権は付与されません。bigquery.user を使用すると、ユーザーは独自のデータセットを作成し、アクセス権が付与されたデータセットに対してクエリジョブを実行できます。bigquery.user または bigquery.jobUser ユーザー ロールを割り当てる際は、そのユーザーまたはグループがアクセスする必要のある、他のユーザーまたはグループが作成したデータセットそれぞれに対するアクセス制御も割り当てる必要があります。

データセットへのアクセス権を割り当てる際のオプションには、次の 3 つがあります。

  • 編集者は、そのデータセットの bigquery.dataViewer ロールにマッピングされます。
  • そのデータセットの bigquery.dataEditor ロールにマッピングされている編集者
  • オーナーはそのデータセットの bigquery.dataOwner ロールに対応しています。

ユーザーがクエリを実行するために必要な最小アクセス権限は、閲覧可能です。

BigQuery の IAM ロールの詳細は、BigQuery のドキュメントのアクセス制御を参照してください。

BigQuery でのデータセットの保護についての詳細は、BigQuery ドキュメントのデータセットへのアクセスの制御をご覧ください。

データソースの作成

データソースを作成するには、次の操作を行います。

  1. Google データポータルを開きます。

  2. [レポート] ページの [テンプレートを使って開始] セクションで [空のレポート] テンプレートをクリックします。これによって、新しい無題のレポートが作成されます。

    空のテンプレート

  3. プロンプトが表示されたら、[マーケティング設定] と [アカウントとプライバシー] に値を設定して、[保存] をクリックします。設定を保存した後、もう一度 [空のレポート] テンプレートのクリックが必要になる場合があります。

  4. [データソースを追加] ウィンドウで [新しいデータソースを作成] をクリックします。

    データソースを追加する

  5. [Google コネクタ] セクションで BigQuery にカーソルを合わせて、[選択] をクリックします。

  6. [承認] セクションにある [承認] をクリックします。これによって、Google データポータルから Google Cloud プロジェクトにアクセスできるようになります。

  7. [許可のリクエスト] ダイアログ ボックスで [許可] をクリックすると、Google データポータルで BigQuery のデータを表示できるようになります。以前に Google データポータルを使用している場合には、このプロンプトが表示されない可能性があります。

  8. [プロジェクト] ペインで [マイ プロジェクト] が選択された状態のままにし、プロジェクトの名前をクリックします。

  9. [データセット] ペインで [biengine_tutorial] をクリックします。

  10. [テーブル] ペインで、[311_service_requests_copy] をクリックします。

  11. ウィンドウの右上隅で [接続] をクリックします。Google データポータルが BigQuery データソースに接続されると、テーブルのフィールドが表示されます。このページは、フィールドのプロパティの調整や、新しい計算フィールドの作成に使用できます。

  12. 右上にある [レポートに追加] をクリックします。

  13. プロンプトが表示されたら、[レポートに追加] をクリックします。

  14. [許可のリクエスト] ダイアログ ボックスで [許可] をクリックすると、Google データポータルで Google ドライブ内のファイルを表示および管理できるようになります。以前に Google データポータルを使用している場合には、このプロンプトが表示されない可能性があります。

ステップ 5: グラフを作成する

データソースをレポートに追加したら、次の手順は可視化することです。ここでは棒グラフの作成から始めます。作成した棒グラフには、地域別の上位の苦情が表示されます。

周辺地域の苦情を表示する棒グラフを作成するには、次の操作を行います。

  1. (省略可)ページの先頭にある [無題のレポート] をクリックして、レポート名を変更します。たとえば、BI Engine tutorial と入力します。

  2. レポート エディタが読み込まれたら、[挿入] > [棒グラフ] をクリックします。

  3. ハンドルを使用して、グラフのサイズを拡大します。

  4. [データ] タブで、データソースの値が 311_service_requests_copy になっていることを確認します。

  5. 近隣地域別のリクエスト数をグラフ化するには、ディメンションを category に、内訳ディメンションを neighborhood に設定する必要があります。 デフォルトのディメンション(status など)をクリックし、リストから [カテゴリ] を選択します。

    カテゴリ ディメンションの選択

  6. [使用可能なフィールド] リストで、[周辺] をクリックして [内訳ディメンション] の [ここにディメンションを追加] ボックスにドラッグします。

    周辺地域ディメンションの追加

フィルタを追加

データには、neighborhood 列にNULL 値が含まれているため、グラフから NULL 値を削除するフィルタを追加します。

フィルタを追加するには、次の操作を行います。

  1. [データ] タブで [フィルタを追加] をクリックします。

    フィルタ オプションの追加

  2. [Create filter] ダイアログで:

    • [名前] に「Exclude nulls」と入力します。
    • データソース311_service_requests_copy に設定されていることを確認します。
    • [追加] をクリックし、[除外] を選択します。
    • [フィールドを選択] をクリックして [周辺] を選択します。
    • [条件を選択] をクリックして [=null] を選択します。

      完成したフィルタ

    • [保存] をクリックします。

  3. フィルタを適用すると、グラフは次のようになります。

    完成した棒グラフ

クリーンアップ

プロジェクトの削除

課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

プロジェクトを削除するには:

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

予約の削除

また、プロジェクトを保持する場合は、容量の予約を削除することで、追加の BI Engine コストを回避できます。

予約を削除するには、次の操作を行います。

  1. BigQuery 管理コンソールの [BI Engine] ページに移動します。

    BigQuery 管理コンソールに移動する

  2. [予約] セクションで、予約を探します。

  3. [アクション] 列で、予約の右側にあるアイコンをクリックし、[削除] を選択します。

  4. [予約削除の確認] ダイアログで「REMOVE」と入力し、[続行] をクリックします。

次のステップ