
OpenMetadata SaaSのBigQuery Connectorを試してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
さがらです。
OpenMetadata SaaSで、BigQueryのメタデータを抽出するためのBigQuery Connectorを試してみたので、本記事でまとめてみます。
前提
基本的には、このドキュメントの手順に沿って行っていきます。
また、「OpenMetadata SaaS」とは言っていますが、中身はOSSのOpenMetadataと全く一緒です。クラスタの構築や運用周りをすべて担ってくれるのがSaaS版となっております。
OpenMetadata SaaSのフリートライアル開始手順については、こちらのブログをご覧ください。
各製品のバージョン
- OpenMetadata SaaS
- Tokyoリージョン
 
- OpenMetadata
- 0.13.2
 
BigQuery上での事前準備
まず、事前にBigQuery上で行うことがありますので、その内容について記述していきます。
Data Catalog APIを有効化する
まず、対象のGoogle Cloudのプロジェクトにおいて、Google Cloud Data Catalog APIを有効化する必要があります。
公式Docにも記載があるこのリンクから、メタデータを抽出したいデータセットを持つプロジェクトを選択した上で、Google Cloud Data Catalog APIを有効化すればOKです。
対象のサービスアカウントに対する権限付与
OpenMetadataからBigQuery上のメタデータを取得するには、サービスアカウントの連携が必要となります。
下図は公式Docからの引用ですが、対象のサービスアカウントには2023年2月6日時点で以下の権限が必要のため、これらの権限を付与したサービスアカウントを準備しましょう。
また、対象のサービスアカウントで接続するために、キーも生成しておきましょう。
下図はJSONで生成した場合の例ですが、この鍵ファイルに記載された各値がOpenMetadataからBigQueryに接続するために必要となります。
OpenMetadata上でのConnectorの設定
では、OpenMetadata上からSnowflake Connectorの設定をしていきます!
まず、Settings➟Databases➟Add New Database Serviceを順番に押します。
接続先の一覧からBigQueryを選択し、Nextを押します。
Service NameとDescriptionを記入し、Nextを押します。
続いて、BigQueryに接続するための各種情報を入れる画面になります。先程生成したサービスアカウントのキーファイルを用いて、各情報を入力していきます。※今回は、GCS Credentials ConfigurationをGCS Credentials Valuesに設定した上で最低限必要な項目を設定していきます。
- Credentials Type:キーファイルの- typeの値を入力
- Project ID:1つのプロジェクトを連携するか、複数のプロジェクトを連携するか、選ぶことが出来ます。※ここでは- Single Project IDで進めていきます。
- Single Project ID:キーファイルの- project_idの値を入力
- Private Key ID:キーファイルの- private_key_idの値を入力
- Private Key:キーファイルの- private_keyの値を入力
- Client Email:キーファイルの- client_emailの値を入力
- Client ID:キーファイルの- client_idの値を入力
- Authentication URI:キーファイルの- auth_uriの値を入力 ※デフォルトで入力されている値で問題ないことが多いと思います。
- Token URI:キーファイルの- token_uriの値を入力 ※デフォルトで入力されている値で問題ないことが多いと思います。
- Authentication Provider X509 Certificate URL:キーファイルの- auth_provider_x509_cert_urlの値を入力 ※デフォルトで入力されている値で問題ないことが多いと思います。
- Client X509 Certificate URL:キーファイルの- client_x509_cert_urlの値を入力
これらの情報を入力後、画面下部のTest Connectionを押し、問題なければSaveを押します。
これでコネクタは完成ですが、続けてIngestion、つまりはメタデータの抽出に関する設定を行う必要があります。Add ingestionを押します。
すると、Ingestionに関する情報の入力画面が出てきます。オプションとしては、このようなものがあります。
- Name:この抽出処理の名称を入力、このOpenMetadataのアカウント内でユニークである必要があります
- Database/Schema/Table Filter Pattern:正規表現で抽出対象のオブジェクトを絞り込める
- Include Views:Viewも抽出対象に含めるかを切り替える
- Include Tags:Snowflake上で定義されたタグも抽出対象に含めるかを切り替える
- Mark Deleted Tables:抽出対象のテーブルが削除されていたら、OpenMetadata上でも削除するかどうかを切り替える
これらの設定を終えたら、右下のNextを押します。
続いて、抽出のスケジュールを選択します。設定を終えたら、Add & Deployを押します。
下図のように表示されたら、抽出の設定は完了です!
ちなみに、対象のIngestionsを手動実行することも出来ます。対象のIngestionのActions列にてRunを押せばOKです!
一度Ingestionをしてみたところ、オンデマンド契約のBigQueryにおいて、30個のテーブル・ビューの取得に1分ほどかかりました!
最後に
OpenMetadata SaaSで、BigQueryのメタデータを抽出するためのBigQuery Connectorを試してみました。
個人的には、同期速度が非常に速いことが好印象でしたね!



























