SlideShare a Scribd company logo
© 2023 NTT DATA Corporation
OpenLineage による Airflow のデータ来歴の収集と可視化
@Airflow Meetup Tokyo #3
2023/03/16
株式会社NTTデータ
関 堅吾
© 2023 NTT DATA Corporation 2
1. Data Lineage とは何か
2. OpenLineage とは何か
3. Airflow で OpenLineage を使う方法
© 2023 NTT DATA Corporation
自己紹介
• 株式会社NTTデータ 技術開発本部所属のデータエンジニア/OSS開発者
• Apache Hadoop・Apache Spark といった、並列分散処理 OSS を用いたデータ基盤の構築・運用支援やサポート,
R&D を行っています
• データエンジニアリング関係のいくつかの OSS 開発にも参加しており、いくつかのプロジェクトでコミッタを務めています
• ワークフローエンジン:
• Hadoop 関連 OSS のパッケージング・構築・運用管理:
• データフォーマット・RPC:
• GIS ライブラリ:
• OSSプロジェクトの品質・テスト改善ツール群:
© 2023 NTT DATA Corporation 4
01
Data Lineage とは何か
© 2023 NTT DATA Corporation 5
Data Lineage とは
• "Data lineage includes the data origin, what happens to it, and where it moves over time"
(Wikipedia より引用: https://en.wikipedia.org/wiki/Data_lineage)
• データの系譜・来歴(データをどこから受け取り、どのような加工を経て、どこへ送られるのか)を追跡すること
※図は https://marquezproject.ai/ から引用
© 2023 NTT DATA Corporation 6
Data Lineage の用途:業務理解・影響分析
?
新しい処理を追加したいが、
必要なデータをどこから持って
くればよい?
このデータセットの形式を変更
したら、どの処理やデータセット
に影響がある?
このデータセットの値は、
何に基づいて・どういった
方法で計算されている?
:入出力データセット
:移動・コピー・加工などの処理
© 2023 NTT DATA Corporation 7
Data Lineage の用途:トラブルシュート
処理結果のデータがおかしい!
問題の原因はどこだ?
:入出力データセット
:移動・コピー・加工などの処理
© 2023 NTT DATA Corporation 8
02
OpenLineage とは何か
© 2023 NTT DATA Corporation 9
Data Lineage をサポートするメタデータ管理ツール
• Data Lineage を含むメタデータを管理するツール (※) は近年活発に開発されており, OSS だけでも多数の製品が存在
• 現状のままだと、ETLツール (※) x メタデータ管理ツールの組合せ数分、連携機能を実装する必要がある
(図は https://openlineage.io/docs/ より引用)
※本資料では、データの構造や各項目の意味、所有者や開示範囲、リネージ情報などを含む「データに関するデータ」を格納・提供するツールを「メタデータ管理ツール」、
データの移動やコピー、加工などを行いリネージデータの発生源となるツールを「ETLツール」と総称する
© 2023 NTT DATA Corporation 10
OpenLineage とは
• リネージ情報を収集するための REST API を, OpenAPI 仕様を用いてオープン標準化するためのプロジェクト
• ETLツール側では, OpenLineage にさえ対応すれば、メタデータ管理ツールごとに異なる収集方法に対応しなくて済む
• OpenLineage からメタデータ管理ツールへの連携は、リネージデータの取り込み方法に応じた backend を設置することで実現
(図は https://openlineage.io/docs/ より引用)
© 2023 NTT DATA Corporation 11
OpenLineage の歴史
• Twitter 社で Apache Parquet を開発した Julien Le Dem が2020/12 にプロジェクトを立ち上げ
• 彼が設立した DataKin 社が開発の中心だったが、後に Airflow の SaaS 提供会社である Astronomer に買収され、
引き続き同社が開発の中心を担っている
• WeWork が開発した Marquez が, OpenLineage でリネージデータを収集するメタデータ管理ツールのリファレンス実装と
なっている
• Marquez, OpenLineage ともに, Linux Foundation のサブ組織である LF AI & Data Foundation 傘下で開発中
• OpenLineage は, 2021/07 に sandbox project として参加し, 2023/01 に incubation stage に昇格
© 2023 NTT DATA Corporation 12
OpenLineage の現在
• 2023/03 時点の最新バージョンは 0.21.1
• ここ最近は毎月1~3回のペースでリリースしており、活発に開発を継続中
• ETLツールとしては Airflow, Spark, dbt などをサポート
• Apache Flinkもサポートしているが、まだexperimental扱い
• 月次の TSC (Technical Steering Committee) meeting の議事録・録画が公開されている
• 開発を主導している Astronomer 以外にも, ETL/データマネジメント系の SaaS ベンダ (Atlan, Collibra,
Fivetran, MANTA 等) に加えて、クラウド・エンタープライズ系の大手ベンダ (Microsoft, AWS, HPE等) も参加
• Microsoft や AWS は、以下のようなドキュメント・記事も公開している
• Azure Databricks のリネージ情報を OpenLineage を用いて Microsoft Purview に収集
https://learn.microsoft.com/en-us/samples/microsoft/purview-adb-lineage-solution-accelerator/azure-
databricks-to-purview-lineage-connector/
• MWAA (AWSのAirflowマネージドサービス) のリネージ情報を OpenLineage を用いて Marquez に収集する例
https://aws.amazon.com/blogs/big-data/automate-data-lineage-on-amazon-mwaa-with-openlineage/
(図は https://openlineage.io/docs/ より引用)
© 2023 NTT DATA Corporation 13
03
Airflow で OpenLineage を使う方法
© 2023 NTT DATA Corporation 14
Airflow への OpenLineage の導入・実行例
• Airflow 2.3 以上を使用している場合, openlineage-airflow パッケージをインストールするだけで利用可能
• setuptools の entrypoint 機能を使った plugin 登録方式を利用し, Airflow の plugin として追加される
• バージョン2.3から Airflow に導入された Listener API を利用している
• このListener APIを追加したのもOpenLineageの開発者 (https://github.com/apache/airflow/pull/20443)
• OpenLineage に対応したメタデータ管理ツールを立ち上げた上で、そのリネージデータ送信先URLを環境変数
OPENLINEAGE_URL に指定するか、設定ファイルに記述して Airflow を起動する
• なお、本パッケージを Airflow の provider に移管する提案 (AIP-53) も Airflow コミュニティに提出されており、将来的に
は導入方法が変更されると思われる
$ pip install openlineage-airflow
$ airflow plugins
name | macros | listeners | source
==================+=============================================================+==============================+===========================================================
OpenLineagePlugin | openlineage.airflow.macros.lineage_run_id,openlineage.airfl | openlineage.airflow.listener | openlineage-airflow==0.21.1:
| ow.macros.lineage_parent_id | | EntryPoint(name='OpenLineagePlugin',
| | | value='openlineage.airflow.plugin:OpenLineagePlugin',
| | | group='airflow.plugins')
$ OPENLINEAGE_URL=http://localhost:3000 airflow standalone
© 2023 NTT DATA Corporation 15
Airflow への OpenLineage の導入・実行例
実際に Marquez をメタデータ管理ツールとして、リネージ情報を送信するまでの例を以下に示す。(Ubuntu 22.04 上で確認)
1. (簡便のため Docker コンテナとして) Marquez を起動する。
コンテナが起動したらブラウザで3000番ポートに接続する。この時点では Marquez には何のリネージ情報も登録されていない。
$ sudo apt-get install -y docker.io docker-compose
$ sudo usermod $USER -aG docker
(logout & relogin)
$ git clone --depth=1 --branch=0.31.0 https://github.com/MarquezProject/marquez
$ cd marquez
$ docker/up.sh
© 2023 NTT DATA Corporation 16
Airflow への OpenLineage の導入・実行例
2. 別のターミナルから Airflow と OpenLineage をインストールし, OpenLineage 関連の設定とともに Airflow を起動する。
後でサンプルの DB に MySQL を使用するため、対応するパッケージもインストールしておく。
3. 別のターミナルから MySQL をインストールし、サンプルデータを登録するとともに、動作確認用のアカウントを追加する。
$ sudo apt-get install -y python3-pip python3-venv libmysqlclient-dev
$ python3 -m venv OL
$ . OL/bin/activate
$ pip install -U pip setuptools wheel
$ AIRFLOW_VERSION=2.5.1
$ PYTHON_VERSION=$(python -V | awk '{ print $2 }' | awk -F. '{ print $1 "." $2 }')
$ pip install "apache-airflow[mysql]==${AIRFLOW_VERSION}" --constraint
"https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-
no-providers-${PYTHON_VERSION}.txt"
$ pip install openlineage-airflow==0.21.1
$ OPENLINEAGE_URL=http://localhost:3000 OPENLINEAGE_NAMESPACE=my_namespace airflow standalone
$ sudo apt-get install -y mysql-server
$ sudo -i
# curl -sL https://downloads.mysql.com/docs/world-db.tar.gz | tar xz
# mysql < world-db/world.sql
# mysql -e "CREATE USER airflow@localhost IDENTIFIED BY 'password'"
# mysql -e "GRANT ALL ON world.* TO airflow@localhost"
© 2023 NTT DATA Corporation 17
Airflow への OpenLineage の導入・実行例
4. 3で登録したアカウント情報を Airflow の connection に登録 (Web UI から実行してもよい)
5. 以下の DAG ファイルを ~/airflow/dags 以下に配置し, Web UIからDAGをunpauseして実行 (CLI から実行してもよい)
$ . ~/OL/bin/activate
$ airflow connections delete mysql_default
$ airflow connections add mysql_default --conn-uri mysql://airflow:password@localhost/world
$ cat airflow/dags/count_cities.py
import pendulum
from airflow.decorators import dag
from airflow.providers.mysql.operators.mysql import MySqlOperator
@dag(dag_id="count_cities", schedule_interval=None,
start_date=pendulum.datetime(2023, 1, 1, tz="UTC"))
def CountCities():
MySqlOperator(
task_id="count_cities",
sql="""
CREATE TABLE IF NOT EXISTS citycount AS
SELECT Code, count(*)
FROM country a JOIN city b
ON a.Code = b.CountryCode
GROUP BY Code
""",
)
dag = CountCities()
...
© 2023 NTT DATA Corporation 18
Airflow への OpenLineage の導入・実行例
6. DAG Run が成功した後で Marquez を確認すると、リネージ情報が登録されている。
© 2023 NTT DATA Corporation 19
Airflow と OpenLineage の連携の仕組み
• OpenLineage は, Airflow の Operator に対応する Extractor を通じてリネージ情報を取得し、メタデータ管理ツール
に送信する。バージョン 0.21.1 時点では以下の Operator に対応している。
Airflow Operator OpenLineage Extractor
PostgresOperator PostgresExtractor
MySqlOperator MySqlExtractor
AthenaOperator, AWSAthenaOperator AthenaExtractor
BigQueryOperator, BigQueryExecuteQueryOperator BigQueryExtractor
SnowflakeOperator SnowflakeExtractor
TrinoOperator TrinoExtractor
GreatExpectationsOperator GreatExpectationsExtractor
SFTPOperator SFTPExtractor
FTPFileTransmitOperator FTPExtractor
BashOperator, PythonOperator BashExtractor, PythonExtractor
RedshiftDataOperator, RedshiftSQLOperator RedshiftDataExtractor, RedshiftSQLExtractor
SageMakerProcessingOperator,
SageMakerProcessingOperatorAsync
SageMakerProcessingExtractor
SageMakerTrainingOperator, SageMakerTrainingOperatorAsync SageMakerTrainingExtractor
SageMakerTransformOperator, SageMakerTransformOperatorAsync SageMakerTransformExtractor
S3CopyObjectExtractor, S3FileTransformExtractor S3CopyObjectExtractor, S3FileTransformExtractor
GCSToGCSOperator GCSToGCSExtractor
© 2023 NTT DATA Corporation 20
Extractor の自作方法
• 使っている Operator/Transfer が前頁のリストにない場合は, Extractor を自作できる
• 基本的には、OpenLineage が提供する BaseExtractor を継承し、以下の3つのメソッドを実装したクラスを登録すればよい
• 詳細は以下のブログ記事で紹介されている
• https://openlineage.io/blog/extractors/
• https://openlineage.io/blog/operators-and-extractors-technical-deep-dive/
class BaseExtractor(ABC, LoggingMixin):
@classmethod
def get_operator_classnames(cls) -> List[str]:
...
@abstractmethod
def extract(self) -> Optional[TaskMetadata]:
...
def extract_on_complete(self, task_instance) -> Optional[TaskMetadata]:
...
リネージ情報を送信する Operator の名前
Operator の開始時に送信するリネージ情報の定義
Operator の終了時に送信するリネージ情報の定義
© 2023 NTT DATA Corporation 21
まとめ
• データリネージとは、データの送信元や加工内容、送信先に関するメタデータであり、管理ツールに一元化することで業務理解
や影響分析、トラブルシュート等に有用
• OpenLineage は、メタデータ管理ツールごとにまちまちなリネージ情報の収集方法をオープン標準化するためのプロジェクトで
あり、Airflow や Spark, dbt などに対応
• OpenLineage に対応したメタデータ管理ツールのリファレンス実装として Marquez が存在
• Airflow 2.3 以上であれば, openlineage-airflow パッケージをインストールするだけで容易に導入可能
• 多くの Airflow Operator をサポート済みであるのに加えて、ユーザ自身で Extractor を追加することで未サポートの
Operator にも対応可能
© 2023 NTT DATA Corporation
本資料に記載されている会社名、商品名、
またはサービス名は、各社の登録商標または商標です。

More Related Content

What's hot

アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
 
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
Toru Makabe
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
NTT DATA OSS Professional Services
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較
Mei Nakamura
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Atsushi Tanaka
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
Hideaki Aoyagi
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
NTT DATA Technology & Innovation
 

What's hot (20)

アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
 

Similar to OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)

Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
オラクルエンジニア通信
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
Kimihiko Kitase
 
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
decode2016
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
Couchbase Japan KK
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
日本マイクロソフト株式会社
 
Azure &lt;3 Openness
Azure &lt;3 OpennessAzure &lt;3 Openness
Azure &lt;3 Openness
Keiji Kamebuchi
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会samemoon
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版)
Takamasa Maejima
 
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
株式会社MonotaRO Tech Team
 
OSC2012-Fukuoka-CloudStack-Update
OSC2012-Fukuoka-CloudStack-UpdateOSC2012-Fukuoka-CloudStack-Update
OSC2012-Fukuoka-CloudStack-Update
Kimihiko Kitase
 
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
Daiyu Hatakeyama
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
Kuniteru Asami
 
Cloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしようCloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしよう
Kazuto Kusama
 
Spark on sql server?
Spark on sql server?Spark on sql server?
Spark on sql server?
Oda Shinsuke
 
Oracle Cloud Infrastructure:2020年7月度サービス・アップデート
Oracle Cloud Infrastructure:2020年7月度サービス・アップデートOracle Cloud Infrastructure:2020年7月度サービス・アップデート
Oracle Cloud Infrastructure:2020年7月度サービス・アップデート
オラクルエンジニア通信
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組み
Shinichiro Arai
 
CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)
Shin Matsumoto
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 

Similar to OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料) (20)

Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
 
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
 
Azure &lt;3 Openness
Azure &lt;3 OpennessAzure &lt;3 Openness
Azure &lt;3 Openness
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版)
 
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
 
OSC2012-Fukuoka-CloudStack-Update
OSC2012-Fukuoka-CloudStack-UpdateOSC2012-Fukuoka-CloudStack-Update
OSC2012-Fukuoka-CloudStack-Update
 
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
 
Cloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしようCloud Foundry V2を、もうちょっと深掘りしよう
Cloud Foundry V2を、もうちょっと深掘りしよう
 
Spark on sql server?
Spark on sql server?Spark on sql server?
Spark on sql server?
 
Oracle Cloud Infrastructure:2020年7月度サービス・アップデート
Oracle Cloud Infrastructure:2020年7月度サービス・アップデートOracle Cloud Infrastructure:2020年7月度サービス・アップデート
Oracle Cloud Infrastructure:2020年7月度サービス・アップデート
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組み
 
CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 

More from NTT DATA Technology & Innovation

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 

Recently uploaded

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 

Recently uploaded (10)

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 

OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)

  • 1. © 2023 NTT DATA Corporation OpenLineage による Airflow のデータ来歴の収集と可視化 @Airflow Meetup Tokyo #3 2023/03/16 株式会社NTTデータ 関 堅吾
  • 2. © 2023 NTT DATA Corporation 2 1. Data Lineage とは何か 2. OpenLineage とは何か 3. Airflow で OpenLineage を使う方法
  • 3. © 2023 NTT DATA Corporation 自己紹介 • 株式会社NTTデータ 技術開発本部所属のデータエンジニア/OSS開発者 • Apache Hadoop・Apache Spark といった、並列分散処理 OSS を用いたデータ基盤の構築・運用支援やサポート, R&D を行っています • データエンジニアリング関係のいくつかの OSS 開発にも参加しており、いくつかのプロジェクトでコミッタを務めています • ワークフローエンジン: • Hadoop 関連 OSS のパッケージング・構築・運用管理: • データフォーマット・RPC: • GIS ライブラリ: • OSSプロジェクトの品質・テスト改善ツール群:
  • 4. © 2023 NTT DATA Corporation 4 01 Data Lineage とは何か
  • 5. © 2023 NTT DATA Corporation 5 Data Lineage とは • "Data lineage includes the data origin, what happens to it, and where it moves over time" (Wikipedia より引用: https://en.wikipedia.org/wiki/Data_lineage) • データの系譜・来歴(データをどこから受け取り、どのような加工を経て、どこへ送られるのか)を追跡すること ※図は https://marquezproject.ai/ から引用
  • 6. © 2023 NTT DATA Corporation 6 Data Lineage の用途:業務理解・影響分析 ? 新しい処理を追加したいが、 必要なデータをどこから持って くればよい? このデータセットの形式を変更 したら、どの処理やデータセット に影響がある? このデータセットの値は、 何に基づいて・どういった 方法で計算されている? :入出力データセット :移動・コピー・加工などの処理
  • 7. © 2023 NTT DATA Corporation 7 Data Lineage の用途:トラブルシュート 処理結果のデータがおかしい! 問題の原因はどこだ? :入出力データセット :移動・コピー・加工などの処理
  • 8. © 2023 NTT DATA Corporation 8 02 OpenLineage とは何か
  • 9. © 2023 NTT DATA Corporation 9 Data Lineage をサポートするメタデータ管理ツール • Data Lineage を含むメタデータを管理するツール (※) は近年活発に開発されており, OSS だけでも多数の製品が存在 • 現状のままだと、ETLツール (※) x メタデータ管理ツールの組合せ数分、連携機能を実装する必要がある (図は https://openlineage.io/docs/ より引用) ※本資料では、データの構造や各項目の意味、所有者や開示範囲、リネージ情報などを含む「データに関するデータ」を格納・提供するツールを「メタデータ管理ツール」、 データの移動やコピー、加工などを行いリネージデータの発生源となるツールを「ETLツール」と総称する
  • 10. © 2023 NTT DATA Corporation 10 OpenLineage とは • リネージ情報を収集するための REST API を, OpenAPI 仕様を用いてオープン標準化するためのプロジェクト • ETLツール側では, OpenLineage にさえ対応すれば、メタデータ管理ツールごとに異なる収集方法に対応しなくて済む • OpenLineage からメタデータ管理ツールへの連携は、リネージデータの取り込み方法に応じた backend を設置することで実現 (図は https://openlineage.io/docs/ より引用)
  • 11. © 2023 NTT DATA Corporation 11 OpenLineage の歴史 • Twitter 社で Apache Parquet を開発した Julien Le Dem が2020/12 にプロジェクトを立ち上げ • 彼が設立した DataKin 社が開発の中心だったが、後に Airflow の SaaS 提供会社である Astronomer に買収され、 引き続き同社が開発の中心を担っている • WeWork が開発した Marquez が, OpenLineage でリネージデータを収集するメタデータ管理ツールのリファレンス実装と なっている • Marquez, OpenLineage ともに, Linux Foundation のサブ組織である LF AI & Data Foundation 傘下で開発中 • OpenLineage は, 2021/07 に sandbox project として参加し, 2023/01 に incubation stage に昇格
  • 12. © 2023 NTT DATA Corporation 12 OpenLineage の現在 • 2023/03 時点の最新バージョンは 0.21.1 • ここ最近は毎月1~3回のペースでリリースしており、活発に開発を継続中 • ETLツールとしては Airflow, Spark, dbt などをサポート • Apache Flinkもサポートしているが、まだexperimental扱い • 月次の TSC (Technical Steering Committee) meeting の議事録・録画が公開されている • 開発を主導している Astronomer 以外にも, ETL/データマネジメント系の SaaS ベンダ (Atlan, Collibra, Fivetran, MANTA 等) に加えて、クラウド・エンタープライズ系の大手ベンダ (Microsoft, AWS, HPE等) も参加 • Microsoft や AWS は、以下のようなドキュメント・記事も公開している • Azure Databricks のリネージ情報を OpenLineage を用いて Microsoft Purview に収集 https://learn.microsoft.com/en-us/samples/microsoft/purview-adb-lineage-solution-accelerator/azure- databricks-to-purview-lineage-connector/ • MWAA (AWSのAirflowマネージドサービス) のリネージ情報を OpenLineage を用いて Marquez に収集する例 https://aws.amazon.com/blogs/big-data/automate-data-lineage-on-amazon-mwaa-with-openlineage/ (図は https://openlineage.io/docs/ より引用)
  • 13. © 2023 NTT DATA Corporation 13 03 Airflow で OpenLineage を使う方法
  • 14. © 2023 NTT DATA Corporation 14 Airflow への OpenLineage の導入・実行例 • Airflow 2.3 以上を使用している場合, openlineage-airflow パッケージをインストールするだけで利用可能 • setuptools の entrypoint 機能を使った plugin 登録方式を利用し, Airflow の plugin として追加される • バージョン2.3から Airflow に導入された Listener API を利用している • このListener APIを追加したのもOpenLineageの開発者 (https://github.com/apache/airflow/pull/20443) • OpenLineage に対応したメタデータ管理ツールを立ち上げた上で、そのリネージデータ送信先URLを環境変数 OPENLINEAGE_URL に指定するか、設定ファイルに記述して Airflow を起動する • なお、本パッケージを Airflow の provider に移管する提案 (AIP-53) も Airflow コミュニティに提出されており、将来的に は導入方法が変更されると思われる $ pip install openlineage-airflow $ airflow plugins name | macros | listeners | source ==================+=============================================================+==============================+=========================================================== OpenLineagePlugin | openlineage.airflow.macros.lineage_run_id,openlineage.airfl | openlineage.airflow.listener | openlineage-airflow==0.21.1: | ow.macros.lineage_parent_id | | EntryPoint(name='OpenLineagePlugin', | | | value='openlineage.airflow.plugin:OpenLineagePlugin', | | | group='airflow.plugins') $ OPENLINEAGE_URL=http://localhost:3000 airflow standalone
  • 15. © 2023 NTT DATA Corporation 15 Airflow への OpenLineage の導入・実行例 実際に Marquez をメタデータ管理ツールとして、リネージ情報を送信するまでの例を以下に示す。(Ubuntu 22.04 上で確認) 1. (簡便のため Docker コンテナとして) Marquez を起動する。 コンテナが起動したらブラウザで3000番ポートに接続する。この時点では Marquez には何のリネージ情報も登録されていない。 $ sudo apt-get install -y docker.io docker-compose $ sudo usermod $USER -aG docker (logout & relogin) $ git clone --depth=1 --branch=0.31.0 https://github.com/MarquezProject/marquez $ cd marquez $ docker/up.sh
  • 16. © 2023 NTT DATA Corporation 16 Airflow への OpenLineage の導入・実行例 2. 別のターミナルから Airflow と OpenLineage をインストールし, OpenLineage 関連の設定とともに Airflow を起動する。 後でサンプルの DB に MySQL を使用するため、対応するパッケージもインストールしておく。 3. 別のターミナルから MySQL をインストールし、サンプルデータを登録するとともに、動作確認用のアカウントを追加する。 $ sudo apt-get install -y python3-pip python3-venv libmysqlclient-dev $ python3 -m venv OL $ . OL/bin/activate $ pip install -U pip setuptools wheel $ AIRFLOW_VERSION=2.5.1 $ PYTHON_VERSION=$(python -V | awk '{ print $2 }' | awk -F. '{ print $1 "." $2 }') $ pip install "apache-airflow[mysql]==${AIRFLOW_VERSION}" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints- no-providers-${PYTHON_VERSION}.txt" $ pip install openlineage-airflow==0.21.1 $ OPENLINEAGE_URL=http://localhost:3000 OPENLINEAGE_NAMESPACE=my_namespace airflow standalone $ sudo apt-get install -y mysql-server $ sudo -i # curl -sL https://downloads.mysql.com/docs/world-db.tar.gz | tar xz # mysql < world-db/world.sql # mysql -e "CREATE USER airflow@localhost IDENTIFIED BY 'password'" # mysql -e "GRANT ALL ON world.* TO airflow@localhost"
  • 17. © 2023 NTT DATA Corporation 17 Airflow への OpenLineage の導入・実行例 4. 3で登録したアカウント情報を Airflow の connection に登録 (Web UI から実行してもよい) 5. 以下の DAG ファイルを ~/airflow/dags 以下に配置し, Web UIからDAGをunpauseして実行 (CLI から実行してもよい) $ . ~/OL/bin/activate $ airflow connections delete mysql_default $ airflow connections add mysql_default --conn-uri mysql://airflow:password@localhost/world $ cat airflow/dags/count_cities.py import pendulum from airflow.decorators import dag from airflow.providers.mysql.operators.mysql import MySqlOperator @dag(dag_id="count_cities", schedule_interval=None, start_date=pendulum.datetime(2023, 1, 1, tz="UTC")) def CountCities(): MySqlOperator( task_id="count_cities", sql=""" CREATE TABLE IF NOT EXISTS citycount AS SELECT Code, count(*) FROM country a JOIN city b ON a.Code = b.CountryCode GROUP BY Code """, ) dag = CountCities() ...
  • 18. © 2023 NTT DATA Corporation 18 Airflow への OpenLineage の導入・実行例 6. DAG Run が成功した後で Marquez を確認すると、リネージ情報が登録されている。
  • 19. © 2023 NTT DATA Corporation 19 Airflow と OpenLineage の連携の仕組み • OpenLineage は, Airflow の Operator に対応する Extractor を通じてリネージ情報を取得し、メタデータ管理ツール に送信する。バージョン 0.21.1 時点では以下の Operator に対応している。 Airflow Operator OpenLineage Extractor PostgresOperator PostgresExtractor MySqlOperator MySqlExtractor AthenaOperator, AWSAthenaOperator AthenaExtractor BigQueryOperator, BigQueryExecuteQueryOperator BigQueryExtractor SnowflakeOperator SnowflakeExtractor TrinoOperator TrinoExtractor GreatExpectationsOperator GreatExpectationsExtractor SFTPOperator SFTPExtractor FTPFileTransmitOperator FTPExtractor BashOperator, PythonOperator BashExtractor, PythonExtractor RedshiftDataOperator, RedshiftSQLOperator RedshiftDataExtractor, RedshiftSQLExtractor SageMakerProcessingOperator, SageMakerProcessingOperatorAsync SageMakerProcessingExtractor SageMakerTrainingOperator, SageMakerTrainingOperatorAsync SageMakerTrainingExtractor SageMakerTransformOperator, SageMakerTransformOperatorAsync SageMakerTransformExtractor S3CopyObjectExtractor, S3FileTransformExtractor S3CopyObjectExtractor, S3FileTransformExtractor GCSToGCSOperator GCSToGCSExtractor
  • 20. © 2023 NTT DATA Corporation 20 Extractor の自作方法 • 使っている Operator/Transfer が前頁のリストにない場合は, Extractor を自作できる • 基本的には、OpenLineage が提供する BaseExtractor を継承し、以下の3つのメソッドを実装したクラスを登録すればよい • 詳細は以下のブログ記事で紹介されている • https://openlineage.io/blog/extractors/ • https://openlineage.io/blog/operators-and-extractors-technical-deep-dive/ class BaseExtractor(ABC, LoggingMixin): @classmethod def get_operator_classnames(cls) -> List[str]: ... @abstractmethod def extract(self) -> Optional[TaskMetadata]: ... def extract_on_complete(self, task_instance) -> Optional[TaskMetadata]: ... リネージ情報を送信する Operator の名前 Operator の開始時に送信するリネージ情報の定義 Operator の終了時に送信するリネージ情報の定義
  • 21. © 2023 NTT DATA Corporation 21 まとめ • データリネージとは、データの送信元や加工内容、送信先に関するメタデータであり、管理ツールに一元化することで業務理解 や影響分析、トラブルシュート等に有用 • OpenLineage は、メタデータ管理ツールごとにまちまちなリネージ情報の収集方法をオープン標準化するためのプロジェクトで あり、Airflow や Spark, dbt などに対応 • OpenLineage に対応したメタデータ管理ツールのリファレンス実装として Marquez が存在 • Airflow 2.3 以上であれば, openlineage-airflow パッケージをインストールするだけで容易に導入可能 • 多くの Airflow Operator をサポート済みであるのに加えて、ユーザ自身で Extractor を追加することで未サポートの Operator にも対応可能
  • 22. © 2023 NTT DATA Corporation 本資料に記載されている会社名、商品名、 またはサービス名は、各社の登録商標または商標です。