Google BigQuery

この記事では、Tableau を Google BigQuery に接続し、データ ソースを設定する方法について説明します。

はじめる前に

開始する前に、次の接続情報を収集します。

  • Google BigQuery メール アドレスまたは電話番号、およびパスワード

接続してデータ ソースを設定する

  1. Tableau を起動し、[接続] の下で [Google BigQuery] を選択します。データ接続の完全なリストについては、[サーバーへ][詳細] を選択します。既定のブラウザのタブで Tableau を開き、以下を実行します。

    1. お使いのメール アドレスまたは電話番号を使用して Google BigQuery にサイン インし、[次へ] を選択してパスワードを入力します。複数のアカウントがリストされる場合は、アクセスしたい Google BigQuery データを保持しているアカウントを選択し、まだサイン インしていない場合は、パスワードを入力します。

    2. [同意] を選択して Tableau が Google BigQuery データにアクセスできるようにします。

    3. 通知されたらブラウザ ウィンドウを閉じます。

  2. データ ソース ページで次の手順を行います。

    1. (任意) ページ上部にある既定のデータソース名を選択し、Tableau で使用する一意のデータソース名を入力します。たとえば、データの他のユーザーが、どのデータ ソースに接続するか推測するのに役立つ命名規則を使用します。

    2. (オプション) [請求プロジェクト] ドロップダウン リストから、請求プロジェクトを選択します。請求プロジェクトを選択しない場合、残りのフィールドを選択した後でフィールドに EmptyProject と表示されます。

    3. [プロジェクト] ドロップダウン リストから、プロジェクトを選択します。または、パブリックデータ プロジェクトを選択して、BigQuery のサンプル データに接続します。

    4. [データセット] ドロップダウン リストから、データ セットを選択します。

    5. [表] で、表を選択します。

      カスタム SQL を使用して、データ ソース全体ではなく、特定のクエリに接続します。詳細については、カスタム SQL クエリへの接続を参照してください。

注:Google BigQuery は BigQuery レガシー SQL (BQL) から標準 SQL へサポートを変更しました。ワークブックを Tableau で開くと、標準 SQL をサポートするようアップグレードされます。

Google BigQuery データ ソースの例

Google BigQuery データ ソース (Windows コンピューターで Tableau Desktop を使用) の例を、次に示します。

注:BigQuery のデータ量は大きいため、Tableau ではライブで接続することを推奨しています。

カスタマイズ属性を使用してクエリのパフォーマンスを向上させる

: カスタマイズ属性は現在 Tableau Prep Builder でサポートされていません。

カスタマイズ属性を使用すると、大容量の結果セットを BigQuery から Tableau Online、Tableau Server、Tableau Desktop に返すときのパフォーマンスを向上させることができます。

Tableau Online や Tableau Server などへワークブックやデータ ソースをパブリッシュする前にカスタマイズ属性を指定している限り、パブリッシュしたワークブックやデータ ソースに、その属性を含めることができます。

Google BigQuery カスタマイズ属性の使用

カスタマイズ属性は整数値を受け入れ、ライブ クエリと指定された接続の抽出更新の両方に影響します。

次の属性は、大きな結果セットのパフォーマンスを改善する場合に最も役立ちます。

bq-fetch-tasks HTTP を使用してデータをフェッチするときに使用する、並列バックグラウンド タスクの数。既定は 10 です。
bq-large-fetch-rows

スプール クエリの各バッチでフェッチされる行の数。既定は 50000 です。

次の属性も利用可能です。主に小さなクエリに使用されます。

bq-fetch-rows 非スプール クエリの各バッチでフェッチされる行の数。既定は 10000 です。
bq-response-rows 非スプールおよび非一括クエリで返される行の数。既定は 10000 です。

この機能設定は、yes または no の値を受け入れ、テスト時に役立つ場合があります。

CAP_BIGQUERY_FORCE_SPOOL_JOB すべてのクエリで一時テーブル アプローチの使用を強制します。既定値は「no」です。この属性をオンに切り替えるには値を「yes」に変更します。

Tableau が Google BigQuery から行を返す方法

Tableau は既定の非スプール アプローチと、一時テーブル (スプール) アプローチの 2 つのアプローチを使用して BigQuery から行を返します。

  • 最初の試行では、クエリは bq-fetch-rows 設定を使用する既定の非スプール クエリを使用して実行されます。

  • 結果のセットが大きすぎる場合、BigQuery API はエラーを返し、Tableau BigQuery コネクターは結果を BigQuery 一時テーブルに保存することでクエリを再試行します。次に、BigQuery コネクターは、bq-large-fetch-rows 設定を使用するスプール ジョブであるその一時テーブルから読み取ります。

属性の指定方法

Tableau データソース カスタマイズ .tdc ファイル、またはワークブックやデータ ソースの XML の 2 つの方法で属性を指定できます。

.tdc ファイルで属性を指定する

Tableau Desktop からのワークブックまたはデータ ソースのパブリッシュ操作中にカスタマイズ属性を指定するには、次の手順に従います。

  1. カスタマイズ属性を含む XML ファイルを作成します。

  2. .tdc 拡張子の付いたファイル (例: BigQueryCustomization.tdc) を保存します。

  3. ファイルを My Tableau Repository\Datasources フォルダに保存します。

.tdc ファイルのカスタマイズ属性は、データ ソースやワークブックが Tableau Online や Tableau Server にパブリッシュされたときに Tableau Desktop に読み取られ、含められます。

重要: Tableau は、TDC ファイルをテストまたはサポートしていません。これらのファイルは探索するためのツールとして使用してください。そうでないと、データ接続でアドレス問題が生じることがあります。TDC ファイルを作成し維持するには、注意深く手動で編集する必要があります。これらのファイルの共有はサポートされていません。

大きな抽出用の推奨される設定を使用した .tdc ファイルの例
<connection-customization class='bigquery' enabled='true' version='8.0' >
  <vendor name='bigquery' />
  <driver name='bigquery' />
  <customizations>
    <customization name='bq-fetch-tasks' value='10' />
    <customization name='bq-large-fetch-rows' value='10000' />
  </customizations>
</connection-customization>

ワークブックまたはデータ ソース ファイルの XML に手動で属性を埋め込む

ワークブック .twb ファイルやデータ ソース .tds ファイルの 'connection' タグ内にカスタマイズ属性を手動で埋め込むことができます。次の例では、わかりやすいように BigQuery カスタマイズ属性が太字で表示されています。

手動で埋め込まれた属性の例

<connection CATALOG='publicdata' EXECCATALOG='some-project-123' REDIRECT_URI='some-url:2.0:oob' SCOPE='https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email' authentication='yes' bq-fetch-tasks='10' bq-large-fetch-rows='10000' bq_schema='samples' class='bigquery' connection-dialect='google-bql' connection-protocol='native-api' login_title='Sign in to Google BigQuery' odbc-connect-string-extras='' project='publicdata' schema='samples' server='googleapis.com/bigquery' server-oauth='' table='wikipedia' username=''>

ワークブックで使用されているのが標準 SQL かレガシー SQL かを確認する

2016 年の Google の更新により、BigQuery API で標準 SQL がサポートされるようになりました。加えて、BigQuery SQL (現在ではレガシー SQL と呼びます) は引き続きサポートされます。Tableau 10.1 以降、標準 SQL をサポートするように Google BigQuery コネクターがアップグレードされ、レガシー SQL も引き続きサポートされます。標準 SQL では、BigQuery コネクターを使用するユーザーが、詳細レベルの式の使用、メタデータ検証の高速化、接続を使用した請求プロジェクトの選択を実行できます。

現在では、ワークブックを新規作成すると、既定で Tableau が標準 SQL をサポートします。Tableau は、[データ] ペインの [レガシー SQL の使用] オプションを使用することでレガシー SQL もサポートします。たとえば、以前のバージョンの Tableau Desktop を使用して作成したワークブックを開くと、ワークブックでレガシー SQL が使用されている場合は [レガシー SQL の使用] オプションが選択されます。

次の理由で [レガシー SQL の使用] オプションを設定する場合があります。

  • 詳細レベルの式を記述する、またはその他の改善点を利用するために、標準 SQL を使用するよう更新する必要がある既存のワークブックがある場合。この場合、[レガシー SQL の使用] オプションを選択していないことを確認してください。

  • 新しいワークブックを作成しており、それがレガシー SQL ビューに接続する必要がある場合。レガシー SQL と標準 SQL を混合させることはできません。このため、ワークブックを機能させるには、[レガシー SQL の使用] オプションを選択する必要があります。

Google BigQuery では、ビューは標準 SQL またはレガシー SQL で記述されています。標準 SQL で記述されたビューと標準 SQL で記述されたビューを結合したり、レガシー SQL で記述されたビューとレガシー SQL で記述されたビューを結合したりすることができます。また、いずれかのバージョンの SQL で記述されたビューを表に結合することができます。ただし、標準 SQL で記述されたビューとレガシー SQL で記述されたビューを 1 つのワークブックに結合することはできません。ビューを結合するときは、接続しているビューで使用される SQL のタイプに応じて [レガシー SQL の使用] チェック ボックスを設定する必要があります。

注: Tableau Desktop では、レガシー SQL または標準 SQL を使用する場合に限定して、ネストされたデータがサポートされます。たとえば、表にネストされたデータが含まれており、レガシー SQL または標準 SQL を使用している場合、データ ソース ページで [今すぐ更新] は機能しません。

レガシー SQL から標準 SQL への移行の詳細については、Google Cloud Platform Web サイトの「レガシー SQL からの移行」を参照してください。

Google BigQuery に関する問題のトラブルシューティング

複数のアカウントへの接続

Web 作成時、または Web へのパブリッシュ時に、同じワークブックで複数の Google BigQuery アカウントを使用することはできません。Desktop では、複数の Google BigQuery アカウント接続を使用できます。

フローをパブリッシュする際、インプット ステップで Google BigQuery に接続するために使用する認証資格情報は、Tableau Server または Tableau Online で Google BigQuery 用の [マイ アカウントの設定] ページの [設定] タブで設定された認証資格情報と一致する必要があります。フローをパブリッシュする際に認証設定で異なる認証資格情報を選択するか認証資格情報を選択しない場合、Tableau Server または Tableau Online でその認証資格情報と一致するようにフロー用の接続を編集するまで、フローは認証エラーを出して失敗します。

Internet Explorer 11 および Edge での Web 作成

Internet Explorer 11 および Edge では、非セキュア接続 (http) を使用してサーバーにアクセスすることができません。セキュア接続 (https) を使用するか、別のブラウザに切り替えてください。

関連項目

フィードバックをくださりありがとうございます! フィードバックの送信中にエラが発生しました。もう一度やり直すか、メッセージをお送りください