SlideShare a Scribd company logo
1 of 22
© 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バージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...NTT DATA Technology & Innovation
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送Google Cloud Platform - Japan
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
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
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性Ohyama Masanori
 
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)NTT DATA Technology & Innovation
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー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
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
カスタムプランと汎用プラン
カスタムプランと汎用プランカスタムプランと汎用プラン
カスタムプランと汎用プランMasao Fujii
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!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
 

What's hot (20)

オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
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 発表資料)
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
カスタムプランと汎用プラン
カスタムプランと汎用プランカスタムプランと汎用プラン
カスタムプランと汎用プラン
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 

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
 
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-UpdateKimihiko 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 2013Yasuhiro 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
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Katsunori Kanda
 

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システムアーキテクチャデザインパターン集
 
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新機能
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話
 

More from 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
 
最新機能までを総ざらい!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
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)NTT DATA Technology & Innovation
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

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 発表資料)
 
最新機能までを総ざらい!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 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
 

Recently uploaded

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (12)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

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 本資料に記載されている会社名、商品名、 またはサービス名は、各社の登録商標または商標です。