お問い合わせ
2 分で読むことができます

【OpenMetadata X Snowflake】でデータカタログ化

執筆者 SHOW 更新日時 2023年11月17日

Topics: snowflake

目次

みなさんこんにちは、INSIGHT LAB株式会社のSHOWです。
本記事はOpenMetadataを使ってSnowflake内のデータをカタログ化してみた記事となります。

自社が保有するデータを利活用することが、どれだけ大切かは私が言うまでも無く皆様ご理解いただけていると思います。

ですが、その利活用をどう進めていけば良いのか?今社内にはどんなデータがあるのか?誰が管理しているのか?などの悩みの種があり、思うように利活用を進められないのが現実です。

ですが、まずは一歩づつできるところから始めてみてはいかがでしょうか?

例えば、社内に散らばったデータを一箇所で管理運用するデータカタログ化などです。

今回はOSS製のOpenMetadataと呼ばれる製品のご紹介記事でございます。OSSの強みの一つにフリーライセンスがあげられます。スモールスタートでデータカタログを試す良い製品でもあります。

この機会にぜひデータカタログ化をご検討してみてはいかがでしょうか。それでは早速ご紹介したいと思います。

 

前提

最初に前提のお話をします。

  • OpenMetadataの詳細な構築方法は割愛させていただきます
  • ターゲットとなるSnowflakeは個人のフリーアカウントを利用しました

Openmetadataとは?

OpenMetadataは企業が持つメタデータを一箇所に集め運用管理を行うことでデータエンジニアへの負荷を下げる効果があります。
その他特徴としては、データ連携を行える、メタデータのバージョニング、データのリネージュ化、幅広いコネクタをサポートしており、データを集めやすい環境があります。
詳細は公式ドキュメントを参照ください。

OpenMetadataのアーキテクチャ

OpenMetadataをどのような形で構築しようとも、必ず必要となるサーバが4つ存在します。

  • OpenMetadataメインサーバ
  • Airflow
  • MySQL
  • ElasticSearch

です。

OpenMetadata公式のクイックスタートのDockerを利用する際は、上記サーバがDockerで動くようになっています。

これはあくまでPoC的に利用することを前提としており、本番運用を見据えた場合は、各サーバを管理できる単位に切り分けた方が良いとのことです。

例えば、AirflowはAWS MWAAを利用したり、MySQLはAmazon RDS for MySQLを利用したりすることを推奨しています。

OpenMetadataの重要な機能

OpenMetadataには重要な機能が数多くありますが、その中でも特に重要な機能を1つ紹介します。

それはIngestion機能です。簡単に説明すると、この機能を使ってDBやDWHからメタデータを収集する機能です。

メタデータとは、データベース、スキーマ、テーブル、クエリなどの情報を指します。

Ingestionを使ってSnowflakeのデータを収集する

Ingestionを使ってSnowflakeのデータを収集する前に、まずはSnowflake との接続を確立しなければならないです。

今回はjaffle_shopのデータを事前にSnowflake に取り込んでいるので、そのデータがOpenMetadata上でどのように表示されるのか見て行きましょう。

Snowflakeとの接続を作成すると以下のように表示されますい。

OMD1

続けてIngestionを作成していきます。

今回はSnowflake 上のjaffle_shopのテーブルやスキーマなどのメタデータを収集したい為、Metadata Ingestionを作成します。

作成後、Ingestionを実行します。

OMD2

問題なく実行できていれば、「Success」と表示されます。

実はこのIngestionは裏ではAirflowが動いています。

そのため、Ingestionを定期的に実行し、常に最新のデータを収集することができます。

Ingestionには他にも種類があるため、気になる方は公式ドキュメントを確認していただきたいです。

それでは実施に収集したデータがOpenMetadata上でどのように表示される確認してみましょう。

OMD3

例としてRAW_PAYMENTSテーブルを見てみると、テーブルのカラム名が表示されていることがわかると思います。

それ以外にも多くの情報を集めることが出来ます。

例えば、以下のようなことができます。

  • テーブルに格納されている実際のデータを収集し、表示可能
  • リネージを表示可能
  • OpenMetadataでテスト(Unique / Not null)を実施でき、その結果を表示可能
  • dbtとの連携も可能

それ以外にもOpenMetadataには多くの機能が備わっており、ここで紹介し切れるものではありません。気になる方は是非実機でお試しいただければと思います。

最後に

フリーライセンスでここまでできれば十分ではないでしょうか。むしろ出来ることが多すぎて悩んでしまうぐらいですね。

なんと言っても最大のメリットはOpenMetadata自体にお金が掛からないことです。

もちろんインフラ面のランニングコストは発生しますが、よく分からない有償のカタログ製品も何百万円もかけなくて済むのは大きいメリットだと思います。

まずはスモールスタートから始めて運用し、その後色々と課題ややりたいことが見えてくると思います。そうなったらそれを実現できる製品を選定すればコストを抑えることができます。

この機に是非社内に散らばっているデータを一箇所に集めて運用管理してみてはいかがでしょうか。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Snowflakeを体験してみませんか?

INSIGHT LABではSnowflake紹介セミナーを定期開催しています。Snowflakeの製品紹介だけでなく、デモンストレーションを通してSnowflakeのシンプルなUI操作や処理パフォーマンスの高さを体感いただけます。

詳細はこちら

SHOW

執筆者 SHOW

4 分で読むことができます。
Snowflakeの料金体系|クレジットと費用最適化のポイントをご紹介
5 分で読むことができます。
【禁断の比較?】SnowflakeとTreasure Dataを比べてみました
1 分で読むことができます。
誤ってupdateしてしまったレコードをtime travelで復元する
5 分で読むことができます。
【Snowflake】新機能「Streamlit in Snowflake」とは何者か!?
3 分で読むことができます。
AWS Lambdaを使ってSnowflakeとSFTPサーバーを連携してみた