データの理解を促進するアプローチ
Data Lineage
• データがどのように⽣成され、どのように利⽤されたかを明らかにする
Affected Accounts
• データがどのユーザーにどれだけ使われてるか明らかにする
Slide 13
Slide 13 text
Data Lineageとは
• ある対象のデータについて、データが⽣成されてから現在に⾄るまでの経路や、経路上で⾏われた変更を表現
したもの
• データセット同⼠の関係性やデータを変換するユーザーとプロセスの把握が簡単にできるようになる
˞ग़యɿdremio - What is Data Lineage
Streaming
実現⽅法
Source Data
Hive MetaStore
DB
Query Engine
BI Tool
Data Ingestion
Data Lineage/
Change Data Capture
Data Governance Tools
Internal Employee Info API
Data Catalog
Batch
内製Data Catalog
Access
Control
Metadata
Management
Query
Editor
Internal Workflow
内製Data Catalogの構成図
Platforms
FAAS of
Private Cloud
Slide 18
Slide 18 text
Streaming
実現⽅法
Source Data
Query Engine
Data Ingestion Data Catalog
内製Data Catalog
Table/Column Lineage
Atlas Hook
Platforms
Data Governance
Tools
Table/Column Lineage
• Atlas HookをHive/Sparkに設置し、Apache Kafka経由でApache Atlasに登録
• AtlasのData Lineageにデータ管理者等の情報を集約して、業務プロセスに沿ったUI/UXを提供
• 苦労したこと) Atlasのパフォーマンス問題が発⽣し、不要なデータを⾃動で削減し改善する
仕組みを導⼊した(詳細は LINEの⼤規模なData PlatformにData Lineageを導⼊した話)
Slide 19
Slide 19 text
実現⽅法
Source Data
BI Tool
Data Ingestion
Batch
Dashboard Lineage
Get Query
in Report
FAAS of
Private Cloud
Dashboard Lineage
• Batch JobでBI ToolからReportを取得し、Report内のSQLをParseしてTableと紐付けて保存
• 苦労したこと) BI Tool間のデータ構造の違いを吸収して保存
Data Catalog
内製Data Catalog
Platforms
Data Governance
Tools
Slide 20
Slide 20 text
Streaming
実現⽅法
Source Data
Query Engine
Data Ingestion Data Catalog
内製Data Catalog
Affected Accounts
Hook query
log
Authorized Accounts
Access Accounts
Platforms
Data Governance
Tools
Batch
FAAS of
Private Cloud
Permission
Authorized Accounts
• 内製Data Catalogで管理しているユーザーの権限情報を利⽤
Access Accounts
• 各Query EngineでQuery logをhookして登録し、Batchで収集