参考URLにも記載した、こちらの記事の方法で接続可能です。
- JDBCダウンロード
- Spanner接続用のアカウント作成
- TDCファイル作成(Tableau Datasource Customizatio)
- Tableau再起動
- Spannerをデータソースとして接続
- 参考URL
JDBCダウンロード
SpannerにJDBC経由で接続lするので、以下のURLからSpanner用のJDBCドライバをダウンロードします。
ダウンロードしたJDBCドライバのjarファイルはOS毎に以下のパスに置きます。
OS | Path |
---|---|
Windows | C:\Program Files\Tableau\Drivers |
Mac | ~/Library/Tableau/Drivers |
Linux | /opt/tableau/tableau_driver/jdbc |
Spanner接続用のアカウント作成
Tableauからの接続に利用するサービスアカウントを作成します。
# Project ID設定 PROJECT=your-project-name # サービスアカウント作成 gcloud iam service-accounts create --project ${PROJECT} spanner-reader \ --description "spanner read user for tableau" \ --display-name "spanner-reader" # SpannerのRead用のロールを付与 gcloud projects add-iam-policy-binding ${PROJECT} \ --member serviceAccount:spanner-reader@${PROJECT}.iam.gserviceaccount.com \ --role roles/spanner.databaseReader
以下のようなサービスアカウントができます。
Credentialファイルをダウンロードしておきます。
gcloud iam service-accounts keys create ./${PROJECT}_spanner.json \ --iam-account spanner-reader@${PROJECT}.iam.gserviceaccount.com
TDCファイル作成(Tableau Datasource Customizatio)
以下のようなTDCファイルを作成します。
<connection-customization class='genericjdbc' version='10.00' enabled='true'> <vendor name='genericjdbc' /> <driver name='cloudspanner' /> <customizations> <customization name='CAP_JDBC_SUPPRESS_ENUMERATE_DATABASES' value='yes' /> <customization name='CAP_JDBC_SUPPRESS_ENUMERATE_SCHEMAS' value='yes' /> <customization name='CAP_JDBC_SUPPRESS_EMPTY_CATALOG_NAME' value='yes' /> </customizations> </connection-customization>
ソフトウェア毎に以下の場所に配置します。
Tableau | Path |
---|---|
Tableau Desktop | Documents\My Tableau Repository\Datasources |
Tableau Server(Windows) | ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Datasources |
Tableau Server(Linux) | /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources |
Tableau再起動
Tableauを再起動します。
Spannerをデータソースとして接続
以下のようなJDBCのURLを組みます。
jdbc:cloudspanner://localhost;Project=<GCP-PROJECT-ID>;Instance=<SPANNER-INSTANCE-NAME>;Database=<SPANNER-DB-NAME>;PvtKeyPath=<PATH-TO-YOUR-PRIVATE-KEY.json>
最後についているCredentialファイルを指定するパラメータ PvtKeyPath=<PATH-TO-YOUR-PRIVATE-KEY.json>
は以下のような GOOGLE_APPLICATION_CREDENTIALS
の環境変数で代替可能です。
データソースに Other Dataabse(JDBC)
を選択し、先程作成したJDBC URLを指定します。 DialectはMySQLとします。UsernameやPasswordは空欄のままで大丈夫です。Sign inをクリックするとパラメータが間違っていなければログオンできます。
ボカシばかりになってしまいましたが、テーブルの一覧と、テーブルの内容もクエリしてこれます。