こんにちは!奥津です。
今日はOpenMetadataを使ってSnowflake上のテーブルのデータリネージを見てみようと思います。
OpenMetadataとは
オープンソースのデータカタログサービスのひとつです。(有償のSaaS版もあります。)
名前のとおり、企業が持つ様々なデータのメタデータをここで集中管理することができます。
詳細は公式ドキュメントからどうぞ。
データリネージとは
データがどこから発生し、どのような加工・変換・移動を経て、最後はどう使われているか、の一連の流れ・関連性の情報です。
これを管理・活用できると、
・あるデータを変更すると、他データにどんな影響があるか一目でわかる
・データに問題があったとき、原因を素早く特定できる
・データ生成プロセス全体を効率化できる
・データ分析者が、使用しているデータの提供元を知ることができる(逆も然り)
など多くのメリットがあります。
OpenMetadataのサンドボックス環境を使って簡易にトライアル
通常はインストール・環境構築が必要ですが、今回は運用環境がセットアップ済みのサンドボックス環境でトライアルを進めます。
特に自社のデータを入れたりせず、すぐにどんなものか知りたい人におすすめ。
ブラウザ上でGoogleアカウントですぐに始められます。
ログインすると、既にサンプルデータが入っていることがわかります。
Snowflakeに接続
ここからはSnowflakeにつないでいきます。サイドバーの「Settings」から、「Services」→「Databases」と遷移。
既にSnowflake含め複数の環境に繋がっていることがわかります。「Add New Service」をクリック。
接続できるサービス群が現れるので、「Snowflake」を選択、「Next」をクリック。
作成する接続の名称を設定すると、つづいてSnowflakeの接続情報を入力する画面。
項目の意味やできることが右のサイドバーで表示されるのが親切。。。(日本語翻訳中)
最低限ユーザー名、パスワード、アカウント名、ウェアハウスを指定すれば接続できますが、
データベースやロールなど指定することもできます。実際の運用では細かく設定するとよさそう。
「Test Connection」をクリックして接続を確認。すべてSuccessになったら「OK」→「Save」をクリック。
そのまま「Add Ingestion」からIngestionを作成します。
名前以外は特に設定せずでOKですが、フィルタリングや実行頻度など設定できます。
作成したIngestionを「Run」。
成功するとDBのデータが入ってきます。
ACCOUNTADMINで実行するとSNOWFLAKE DBやSNOWFLAKE_SAMPLE_DATA DBも入ってきてしまっているので、
ここはフィルターしたほうが軽くなるかも。
今回は見え方を確かめるため「TEST」というDBの中に「CALL_CENTER」というテーブルを作成、
それをさらに100行だけ抽出した「CALL_CENTER_COPY」というテーブルを作成しています。以下はSnowsight上の表示。
そして以下がOpenMetadata上での表示。
CALL_CENTER_COPYテーブルのデータを確認すると、Lineageタブに移っても特に他テーブルとの関連は見れません。
Lineage Ingestionの作成
データリネージを見るにはそのためのIngestionを作成する必要があるようです。
Ingestionタブから「Add ingestion」→「Add Lineage Ingestion」をクリック。
先ほど作ったMetadata Ingestionと同様、名前以外の設定は任意です。
作成が完了すると、さっきつくったものとはTYPEの違うIngestionであることがわかります。これを実行。
CALL_CENTER_COPYテーブルのLineageを確認すると、ちゃんとCALL_CENTERテーブルとの関連が見えるようになりました。
データリネージの確認
テーブルをつなぐ矢印をクリックするとクエリが確認できます。
またColumnsを展開すると、カラムレベルのリネージが確認できます。
またサンプルで含まれているテーブルのリネージを見ると、複数のデータが関連しているときのイメージがわきます。
各種フィルタリングやデータクオリティのチェックもできるのですね。
ちなみに、、Snowflakeでも見られるようになるようです
今回OpenMetadataでSnowflakeテーブルのデータリネージュを見てきました。
まだSnowflakeのUI(Snowsight)上だとこれは見られないのですが、
今後見られるようになることが発表されてます。
Announcing New Innovations for Snowflake Horizon
おわりに
データリネージはSnowsight上でも確認できるようになりますが、
OpenMetadataではSnowflakeを含むあらゆるデータの様々なメタデータを管理できるので、他の活用方法も見ていこうと思います。
truestarではSnowflakeの検討、導入支援や環境構築からアプリ開発まで幅広くサポート可能です。
Snowflakeに興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらからご相談ください!