Azure Data CatalogにBigQueryのデータをRegistration Toolを使って登録する
やりたいこと
BigQueryに登録したテーブルもAzure Data Catalogに登録したい。
作業環境
- Windows Server または Windows 10
- Azure Data Catalog Registration Toolがインストール済み
- Google Cloud SDKがインストール済み
手順
BigQuery向けODBCドライバーインストール
BigQuery向けODBCドライバーインストール
以下からインストーラーがダウンロードできます。
画像のようなインストールが起動します。選択肢はインストール場所程度のなので、手順は省略します。
Credentialファイルの取得
権限のあるユーザで以下のコマンドを実行します。
gcloud auth application-default login
ログの中に以下のような表示があると思いますが、このJSONファイルの場所と中身の情報をメモします。
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でのアクセスを利用 |
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経由でカタログデータを取得します。
ODBCデータベースを選択するとパラメータの入力画面に遷移します。そこで今までの情報合わせ以下のようにパラメータ入力します。
項目 | 入力値 |
---|---|
ドライバー | Simba ODBC Driver for Google BigQuery |
接続文字列 | 上の手順で作成したODBC接続文字列 |
データベース | GCPプロジェクト名 |
ユーザ | Credential JSONファイルの client_id の項 |
パスワード | Credential JSONファイルの client_secret の項目 |
実際に入力した画面は以下のようになります。「接続」ボタンをクリックします。
いつものテーブル選択の画面になります。
BigQueryの場合はプロジェクト>データセット>テーブルという階層構造になります。
データプロファイルの取得は現時点(2020/11/28)では動かないようでした。原因と思われる部分は記事の最後に書いてます。
※ちなみにカタログ収集しているテーブルはSAP ERPのテーブルです。前に社内の検証環境から持ってきたものです。この辺りはこちらのブログに書いてます。
無事に同期完了しました。
Azure DataCatalogで確認
データベース名がGCPのプロジェクト名になってしまうのが少し違和感ありますが、基本的なカタログ情報の取得はできました。
ちなみに、取得しているのは(こちらの記事)[https://www.beex-inc.com/blog/saperp-load-bigquery/]で取得したSAP ERPのものです。
なおBigQueryのデータセットはスキーマ名としてマッピングされます。
同様の情報ですがBigQuery上では以下のように見えます。
Tips
BigQuery用のODBCドキュメントの場所
以下のインストールフォルダにあるものがBigQueryのODBCドキュメントです。ドライバのダウンロードページにあるものは汎用的なものでBigQueryの接続文字列パラメータ等の情報が記載ありませんでした。
C:\Program Files\Simba ODBC Driver for Google BigQuery
「プロファイルを含める」オプションのエラー
プロファイルを含める
オプションを有効にすると、列毎の統計情報などが取得できるのですが、発行されているSQLのSyntaxがBigQueryと合って無くエラーになってしまっています。
サポート対象のDBにBigQueryが入っているわけでも無く、たまたまODBCで一部データが取れる状態なので、このあたりはしょうが無い気もします。
関連記事
Author And Source
この問題について(Azure Data CatalogにBigQueryのデータをRegistration Toolを使って登録する), 我々は、より多くの情報をここで見つけました https://qiita.com/yomon8/items/935316c863e8b3f686e1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .