2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

BeeXAdvent Calendar 2020

Day 11

Azure Data CatalogにBigQueryのデータをRegistration Toolを使って登録する

Last updated at Posted at 2020-12-10

やりたいこと

BigQueryに登録したテーブルもAzure Data Catalogに登録したい。

作業環境

  • Windows Server または Windows 10
  • Azure Data Catalog Registration Toolがインストール済み
  • Google Cloud SDKがインストール済み

手順

BigQuery向けODBCドライバーインストール

以下からインストーラーがダウンロードできます。

画像のようなインストールが起動します。選択肢はインストール場所程度のなので、手順は省略します。

image.png

Credentialファイルの取得

権限のあるユーザで以下のコマンドを実行します。

gcloud auth application-default login

ログの中に以下のような表示があると思いますが、このJSONファイルの場所と中身の情報をメモします。

image.png

C:\Users\Administrator\AppData\Roaming\gcloud\application_default_credentials.json
{
  "client_id": "xxxxxx.apps.googleusercontent.com",
  "client_secret": "xxxxxx",
  "quota_project_id": "your-project-name",
  "refresh_token": "xxxxxxxx",
  "type": "authorized_user"
}

ODBCの接続文字列を準備

取得した情報を元に接続文字列を作成します。

項目 備考
Catalog your-project-name GCPプロジェクト名
OAuthMechanism 0 今回はServiceAccountでのアクセスを利用
Email xxx.apps.googleusercontent.com Credential JSONファイルの client_id の項目
KeyFilePath C:\Users\xxxxx\AppData\Roaming\gcloud\application_default_credentials.json 上の手順で取得したCredential JSONファイルのパス

上記の表から以下のような文字列を作成します。

OAuthMechanism=0;Catalog=your-project-name;Email=xxx.apps.googleusercontent.com;KeyFilePath=C:\Users\xxxxx\AppData\Roaming\gcloud\application_default_credentials.json

Registration Toolの起動

Registration ToolにODBCがあるので、これを使ってBigQueryからODBC経由でカタログデータを取得します。

image.png

ODBCデータベースを選択するとパラメータの入力画面に遷移します。そこで今までの情報合わせ以下のようにパラメータ入力します。

項目 入力値
ドライバー Simba ODBC Driver for Google BigQuery
接続文字列 上の手順で作成したODBC接続文字列
データベース GCPプロジェクト名
ユーザ Credential JSONファイルの client_id の項
パスワード Credential JSONファイルの client_secret の項目

実際に入力した画面は以下のようになります。「接続」ボタンをクリックします。

image.png

いつものテーブル選択の画面になります。
BigQueryの場合はプロジェクト>データセット>テーブルという階層構造になります。

データプロファイルの取得は現時点(2020/11/28)では動かないようでした。原因と思われる部分は記事の最後に書いてます。

※ちなみにカタログ収集しているテーブルはSAP ERPのテーブルです。前に社内の検証環境から持ってきたものです。この辺りはこちらのブログに書いてます。

image.png

無事に同期完了しました。

image.png

Azure DataCatalogで確認

データベース名がGCPのプロジェクト名になってしまうのが少し違和感ありますが、基本的なカタログ情報の取得はできました。
ちなみに、取得しているのは(こちらの記事)[https://www.beex-inc.com/blog/saperp-load-bigquery/]で取得したSAP ERPのものです。

なおBigQueryのデータセットはスキーマ名としてマッピングされます。
image.png

image.png

同様の情報ですがBigQuery上では以下のように見えます。

image.png

Tips

BigQuery用のODBCドキュメントの場所

以下のインストールフォルダにあるものがBigQueryのODBCドキュメントです。ドライバのダウンロードページにあるものは汎用的なものでBigQueryの接続文字列パラメータ等の情報が記載ありませんでした。

C:\Program Files\Simba ODBC Driver for Google BigQuery

image.png

「プロファイルを含める」オプションのエラー

プロファイルを含める オプションを有効にすると、列毎の統計情報などが取得できるのですが、発行されているSQLのSyntaxがBigQueryと合って無くエラーになってしまっています。
サポート対象のDBにBigQueryが入っているわけでも無く、たまたまODBCで一部データが取れる状態なので、このあたりはしょうが無い気もします。

image.png

関連記事

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?