Slide 1

Slide 1 text

LINEのData Platformにおけるデータ利活用を 促進するためのData Catalogの開発 Shinji Shimamura, Data Platform LINE 2022.10

Slide 2

Slide 2 text

ొஃऀ঺հ • 2019年 : LINE⼊社 • 内製BIツール(OASIS)の開発 • 内製Data Catalogの開発 ౡଜ ৴࢚ Data Platform室 IU Devチーム Software Engineer

Slide 3

Slide 3 text

LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動 01 02 03 04 Contents

Slide 4

Slide 4 text

01 02 03 04 Contents LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動

Slide 5

Slide 5 text

LINEのData Platform Data Platform … Services Data Science Service Planning Machine Learning データの⺠主化 Governance

Slide 6

Slide 6 text

LINEの内製Data Catalogの紹介 Metadata Management Access Control EDA※ • LINEのデータ利活⽤を促進する • データ関連業務の効率化に必要な機能を提供 • 多様な活⽤ニーズに応えるために、内製している ※exploratory data analysis

Slide 7

Slide 7 text

01 02 03 04 Contents LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動

Slide 8

Slide 8 text

LINE Data Platformの特徴 データ量、種類、活⽤の規模が膨⼤ ˞ग़యɿLINEデータプラットフォームにおけるApache Icebergの導⼊

Slide 9

Slide 9 text

)%'4$BQBDJUZ 1# )JWFUBCMFT +PCT%BZ データの規模

Slide 10

Slide 10 text

活⽤の規模 ར༻ऀ • σʔλΤϯδχΞ • σʔλΨόφʔ • σʔλαΠΤϯςΟετ • .-ΤϯδχΞ • αʔϏε։ൃऀ • αʔϏεϓϥϯφʔ ར༻πʔϧ • 5BCMFBV • ಺੡#*πʔϧ 0"4*4 • #BUDI 「Always Data-driven」 専⾨家 ⾮専⾨家

Slide 11

Slide 11 text

LINEのデータ利活⽤に関する課題 ˞ग़యɿData Catalog とは | Data Catalog のドキュメント | Google Cloud データの理解 • データを使⽤しているのは誰で、誰が管理しているのか • データを変換するユーザーとプロセス • データは誰に権限が与えられているか • データセット同⼠の関係性 背景と課題 • 背景) LINEでは全社員がデータユーザーのため、データの専⾨家でないユーザーも、 ⾃分⾃⾝でデータ分析等のために、「データの理解」を深める必要がある • 課題) データの規模、活⽤の規模が膨⼤なため、「データの理解」が困難 • 例) 約250のTable、約200のReportで利⽤されているTableが存在する

Slide 12

Slide 12 text

データの理解を促進するアプローチ Data Lineage • データがどのように⽣成され、どのように利⽤されたかを明らかにする Affected Accounts • データがどのユーザーにどれだけ使われてるか明らかにする

Slide 13

Slide 13 text

Data Lineageとは • ある対象のデータについて、データが⽣成されてから現在に⾄るまでの経路や、経路上で⾏われた変更を表現 したもの • データセット同⼠の関係性やデータを変換するユーザーとプロセスの把握が簡単にできるようになる ˞ग़యɿdremio - What is Data Lineage

Slide 14

Slide 14 text

01 02 03 04 Contents LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動

Slide 15

Slide 15 text

Table Lineage • Table間の関係性を可視化 • 誰がどのようなQueryでどの TableからTableを⽣成したのか • データ管理者等の属性情報を表⽰ • Spark, Hiveに対応 Column Lineage • Column間の関係性を可視化 提供機能 Data Lineage Dashboard Lineage • TableがどのReportで使われてるか 👇選択 👈管理者 Dashboard 👇Lineage

Slide 16

Slide 16 text

Authorized Accounts • Tableにアクセス権限があるユーザー 表⽰ Access Accounts • Tableに最近アクセスしたユーザー表⽰ Usage Summary • 直近の利⽤ユーザーやアクセス数、 利⽤しているBIツール等をサマリー表⽰ 提供機能 Affected Accounts

Slide 17

Slide 17 text

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で収集

Slide 21

Slide 21 text

01 02 03 04 Contents LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動

Slide 22

Slide 22 text

Data Lineage の活⽤事例 活⽤事例 • データエンジニア) Tableメンテナンス時の影響範囲の把握が⾮常に簡単になった • データエンジニア) ETLジョブが失敗した際の原因調査において、どのTableが原因か簡単に確認でき るようになった • データプランナー) Tableを利⽤しているReportを確認することで、データの使い⽅がわかる

Slide 23

Slide 23 text

Affected Accounts の活⽤事例 活⽤事例 • データ管理者) Usage Summaryからデータが不要か簡単に確認できるようになった • データサイエンティスト) どのデータがよく使われているかわかり、 利⽤すべきデータの検討を付け られる • データガバナー) データの変更や不具合があった際に、権限を持っている⼈に簡単にアナウンスできる

Slide 24

Slide 24 text

今後の活動 メタデータの更なる活⽤ 検索機能の強化 • 検索スコアをチューニングし、よりユーザーが求める結果が上位に来るようにする Query Editorのエンハンス • 実⾏するQueryがアクセスするデータの統計情報に応じて、Queryを実⾏するのに最適な Query Engineを選択する Metadata Everywhere • APIを強化し、BIツール等、Data Catalog以外のツールでもメタデータを活⽤する

Slide 25

Slide 25 text

• 内製Data CatalogによってLINEの「データの理解」を促進し、業務改善を実現した • 収集した各種メタデータを、業務プロセスに沿って、必要な情報にふれられるようにUIUXを提供す ることが重要 • データの規模が⼤きくなると、メタデータ収集・表⽰において、パフォーマンスの維持や Data Platformに負荷をかけない等、技術的にチャレンジングな課題を解決する必要がある まとめ

Slide 26

Slide 26 text

最後に

Slide 27

Slide 27 text

We are hiring • ⼤規模なData PlatformのData Catalog開発において直⾯する課題の解決に関われます • Big dataに関する経験は必須ではありません(私も経験はありませんでした) • Backendの開発経験とデータ領域に関する興味があれば歓迎します 応募ページ • Software Engineer / Data Platform室 採⽤のポイント 参考 • LINEのData Platformにおけるデータ利⽤環境を開発しているチームを紹介します • Tech-Verse 2022 11/17: Data Platformにおけるデータ利活⽤を促進するためのData Catalo gの開発

Slide 28

Slide 28 text

THANK YOU