🚀
OpenMetadataのGet Startをやってみた
がく@ちゅらデータエンジニアです。
最近はModern Data Stackのトレンドとか追ってまして、業務でも Data Catalogが熱い!ってなったので、ちょっと調べてみようかな〜と軽い気持ちで調べてしまった・・・
Data Catalogは、Modern Data Stackでも比較的新しいカテゴリかな?と思ってます。
プロダクトとしては
- AWS Glue Data Catalog
- Google Cloud Data Catalog
- DataHub (LinkedinなOSS)
- OpenMetadata(元Uberな人が作ったOSS、最後発?)
- Informatica 重厚長大
- trocco 2022年9月時点ではBigQueryのみ対応
- Quollio®︎ できたばっかり、ベンチャーのSaaS
がなどがあります。
今日はその中のOpenMetadataのGetStartをやってみたので、そちらを記載してみようと思います。
お題は 「DockerでOpenMetadataを試す」
動作環境(OSX、Linux)
- Python version 3.7以上
$python3 --version
- Doker バージョン 20.10.10以降
docker --version
- Docker Compose (バージョン2.1.1以上)
docker compose version
手順
OpenMetadata用ディレクトリを作成する
$ mkdir openmetadata-docker && cd openmetadata-docker
Pythonの仮想環境の作成
python3 -m venv env
仮想環境を起動する
source env/bin/activate
pipとsetuptoolsのアップグレード
$ pip3 install --upgrade pip setuptools
OpenMetadataのPythonモジュールをインストールする
$ pip3 install --upgrade "openmetadata-ingestion[docker]"
モジュールがインストールされ、使用可能な状態であることを確認する
$ metadata docker --help
以下のようなメッセージが出るはず
:~/openmetadata-docker% metadata docker --help
Usage: metadata docker [OPTIONS]
Checks Docker Memory Allocation Run Latest Release Docker - metadata docker
--start Run Local Docker - metadata docker --start -f path/to/docker-
compose.yml
Options:
--start Start release docker containers
--stop Stops openmetadata docker containers
--pause Pause openmetadata docker containers
--resume Resume/Unpause openmetadata docker
containers
--clean Stops and remove openmetadata docker
containers along with images, volumes,
networks associated
-f, --file-path FILE Path to Local docker-compose.yml
-env-file, --env-file-path FILE
Path to env file containing the environment
variables
--reset-db Reset OpenMetadata Data
--ingest-sample-data Enable the sample metadata ingestion
-db, --database [mysql|postgres]
--help Show this message and exit.
OpenMetadataのDockerコンテナを起動します。
% metadata docker --start
以下のようなメッセージが出た
[2022-09-27 23:03:51] INFO {Metadata:docker:168} - Checking if docker compose is installed...
[2022-09-27 23:03:52] INFO {Metadata:docker:174} - Checking if docker service is running...
[2022-09-27 23:03:52] INFO {Metadata:docker:178} - Checking openmetadata memory constraints...
[2022-09-27 23:03:52] INFO {Metadata:docker:135} - Downloading latest docker compose file docker-compose.yml from openmetadata repository...
[2022-09-27 23:03:52] INFO {Metadata:docker:51} - Running docker compose for OpenMetadata..
It may take some time on the first run
メタデータの取り込みが終了するのを待つ
✅ OpenMetadata is up and running
Open http://localhost:8585 in your browser to access OpenMetadata..
To checkout Ingestion via Airflow, go to http://localhost:8080
(username: admin, password: admin)
We are available on Slack , https://slack.open-metadata.org/ . Reach out to us if you have any questions.
If you like what we are doing, please consider giving us a star on github at https://github.com/open-metadata/OpenMetadata.
It helps OpenMetadata reach wider audience and helps our community.
これにより、Docker Networkと以下のサービス用のコンテナが作成される
- メタデータ・カタログを保存するMySQL
- カタログの検索を可能にするメタデータ・インデックスを維持するためのElastickSearch
- OpenMetadetaがメタデータの取り込みに使用するApache Airflor
- OpenMetadataのUIとAPIサーバ
コンテナの起動後、メタデータはAirflowタスクを起動し、実験用のサンプルメタデータと使用状況データを取り込みます。システムによっては、数分かかる場合があります。
にアクセスしてみました。
メタデータとコラボレーションのパワーを発見するツアーに出かけよう
Airflowにログイン
OpenMetadataには、UIを介してデプロイされたインジェストワークフローを実行するためのAirflowコンテナが同梱されています。
Airflowでは、サンプルデータを取り込む、例となるいくつかのサンプルDAGも表示されます。
Airflow には、http://localhost:8080 からアクセスできます。以下の認証情報を使用して、Airflow にログインします。
ユーザー名:admin
パスワード:admin
終わりに
とりあえず、GetStartの言うままに作ってみました。
Docker入れてなかったので、そのインストールから
まだ何ができるかは、全然わかっていないので、触ってみて、色々試してみようと思います。
Snowflakeへのアクセスしての様々な機能を試す・・・をやってみたいなっておもってます。
Discussion