ごあいさつ
こんにちは。日鉄ソリューションズ株式会社のhayashitaniです。
私が所属している組織では製造業のお客様向けに、データ基盤構築、データガバナンスコンサルなどを支援させていただいております。
今回は、OSSのデータカタログツール「OpenMetadata」を使って、データカタログでどのようなことができるのか、実機操作をしながら見ていきたいと思います。
本記事を皮切りに、以下のような色々な機能を見ていく予定です。
no | 概要 |
---|---|
# | データカタログ概要 |
1 | Snowflakeのテクニカルメタデータをデータカタログに取得する ★本記事 |
# | ビジネスメタデータをデータカタログに登録する |
# | データカタログの検索機能を触ってみる |
# | リネージをデータカタログに登録する |
# | Snowflakeの利用情報をデータカタログに登録する |
# | 用語をデータカタログに登録する |
# | サンプルデータをデータカタログに登録する |
# | プロファイリング情報をデータカタログに登録する |
# | データカタログで品質テストを行う |
# | データカタログで品質テストを行う |
本投稿の内容は私個人の意見であり、組織の見解を代表するものではありません。
メタデータの概要については以下に投稿を行っています。
前提
- OpenMetadataがインストール済み(本記事では、1.6.1バージョンを利用)
- Snowflakeアカウントを利用可能
- ブラウザを利用可能(本記事では、Chromeを利用)
準備
-
OpenMetadataからSnowflakeへの接続に利用する、ユーザー、ロール、仮想ウェアハウスを作成
-
作成したユーザーに、作成したロールを付与
-
作成したロールに、作成した仮想ウェアハウスの権限を付与
-
作成したDB、スキーマ、テーブル、ビューに権限を付与
※ 2024年12月時点で必要な権限は、以下の通りでした。
・DB、スキーマ:USAGE
・テーブル、ビュー:SELECT
接続設定
「設定」>「サービス」>「データベース」>「新しいサービスを追加」をクリック
サービスは、OpenMetadata上にメタデータを登録するためのオブジェクトです。
Snowflakeで言うと、DBの1つ上の階層に該当します。
サービスがあると、同じDBでも複数のオブジェクトに分けて登録が可能となります。オブジェクトを分けるメリットとしては、権限管理の簡素化が挙げられます。
このような機能は、他のデータカタログ製品でもよく見かける仕様かと思います。
接続対象のツールが表示されるので、Snowflakeを選択します
サービス名の定義、接続情報の入力、接続テストが完了したら保存します
権限によっては、GetTags(タグ取得)、GetQueries(クエリ情報取得)でAttentionになると思いますが、こちらに関しては、別の投稿で見ていく予定なので今回は無視します。
接続設定が完了すると以下のようにサービスのページが作成されます
取込ジョブ作成
サービスオブジェクトのページで、メタデータインジェスチョンを追加をクリックします
インジェスチョンは、情報を取得するためのジョブの名称です。
OpenMetadataでは、用途毎にインジェスチョンの種類が分かれています。
※ 私は今回デフォルトから以下を変更しました
- 「INFORMATION_SCHEMA」は対象外に指定(取り込みたくないため)
- 「Include Tags」はオフ(今回はタグの取得は対象外のため)
- 「Include_DDL」はオン(テーブル、ビュー定義を取得したいため)
- 「Overrude Metadata」はオン(複数回取得ジョブを実行する可能性があるため)
また、今回は1度ジョブを実行できれば良いので、スケジュール設定は手動実行で指定しました。
取込ジョブ実行
サービス画面のインジェスチョンタブを開き、対象のジョブを実行します
結果
データベースのページ
データベースの物理名、データベースが保持するスキーマが取得されました
スキーマのページ
スキーマの物理名、スキーマが保持するテーブル、ビューが取得されました
テーブルのページ
テーブルの物理名、カラムの一覧、カラムの物理名、カラムのデータ型、桁数、制約(プライマリーキー、NOT NULLなど)が取得されました
「Include_DDL」をオンにしたので、「Schema Definition」タブにテーブル定義が取得できました
最後に
取得できるテクニカルメタデータの種類は、多い印象を受けています。
高額なエンタープライズ規模のデータカタログツールほどではありませんが、データカタログツールの中でも充実していると思います。
(過去に見たデータカタログツールには、テーブルカラムの桁数や制約を取得できないものもありました、、)
Snowflakeの権限設定も比較的容易に行えます。
また、テーブル定義書をExcelファイルで手動管理している場合や、Excelファイルをデータカタログとして手動管理している場合においては、管理負荷の高さや、正確性の担保が課題となってしまうことがあります。
データカタログツールは、定期的に自動でこれらの情報を取得して更新できるので、前述の課題解決に有効です。
次回は、今回取得したテクニカルメタデータにサンプルデータを付与したいと思います。
本記事についてご不明点、ご質問事項等があれば、コメントをお願いいたします。
また、本分野に関してご興味を持っていただけた方がいらっしゃれば、お気軽にお問い合わせください。