Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Line In House Data Catalog

Introduction to Line In House Data Catalog

「LINEのData Platformにおけるデータ利活用を促進するためのData Catalogの開発」
LINE株式会社 島村信嗣

Data Engineering Study #16「データカタログ入門」
https://forkwell.connpass.com/event/255166/

LINE Developers
PRO

October 20, 2022
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

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

  2. ొஃऀ঺հ • 2019年 : LINE⼊社 • 内製BIツール(OASIS)の開発 • 内製Data Catalogの開発

    ౡଜ ৴࢚ Data Platform室 IU Devチーム Software Engineer
  3. LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動 01 02 03 04 Contents

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

  5. LINEのData Platform Data Platform … Services Data Science Service Planning

    Machine Learning データの⺠主化 Governance
  6. LINEの内製Data Catalogの紹介 Metadata Management Access Control EDA※ • LINEのデータ利活⽤を促進する •

    データ関連業務の効率化に必要な機能を提供 • 多様な活⽤ニーズに応えるために、内製している ※exploratory data analysis
  7. 01 02 03 04 Contents LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動

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

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

  10. 活⽤の規模 ར༻ऀ • σʔλΤϯδχΞ • σʔλΨόφʔ • σʔλαΠΤϯςΟετ • .-ΤϯδχΞ

    • αʔϏε։ൃऀ • αʔϏεϓϥϯφʔ ར༻πʔϧ • 5BCMFBV • ಺੡#*πʔϧ 0"4*4 • #BUDI 「Always Data-driven」 専⾨家 ⾮専⾨家
  11. LINEのデータ利活⽤に関する課題 ˞ग़యɿData Catalog とは | Data Catalog のドキュメント | Google

    Cloud データの理解 • データを使⽤しているのは誰で、誰が管理しているのか • データを変換するユーザーとプロセス • データは誰に権限が与えられているか • データセット同⼠の関係性 背景と課題 • 背景) LINEでは全社員がデータユーザーのため、データの専⾨家でないユーザーも、 ⾃分⾃⾝でデータ分析等のために、「データの理解」を深める必要がある • 課題) データの規模、活⽤の規模が膨⼤なため、「データの理解」が困難 • 例) 約250のTable、約200のReportで利⽤されているTableが存在する
  12. データの理解を促進するアプローチ Data Lineage • データがどのように⽣成され、どのように利⽤されたかを明らかにする Affected Accounts • データがどのユーザーにどれだけ使われてるか明らかにする

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

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

  15. Table Lineage • Table間の関係性を可視化 • 誰がどのようなQueryでどの TableからTableを⽣成したのか • データ管理者等の属性情報を表⽰ •

    Spark, Hiveに対応 Column Lineage • Column間の関係性を可視化 提供機能 Data Lineage Dashboard Lineage • TableがどのReportで使われてるか 👇選択 👈管理者 Dashboard 👇Lineage
  16. Authorized Accounts • Tableにアクセス権限があるユーザー 表⽰ Access Accounts • Tableに最近アクセスしたユーザー表⽰ Usage

    Summary • 直近の利⽤ユーザーやアクセス数、 利⽤しているBIツール等をサマリー表⽰ 提供機能 Affected Accounts
  17. 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
  18. 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を導⼊した話)
  19. 実現⽅法 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
  20. 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で収集
  21. 01 02 03 04 Contents LINEの内製Data Catalogの紹介 LINEのデータ利活⽤に関する課題と解決のアプローチ データ理解を促進する提供機能の紹介と実現⽅法 提供機能の活⽤事例と今後の活動

  22. Data Lineage の活⽤事例 活⽤事例 • データエンジニア) Tableメンテナンス時の影響範囲の把握が⾮常に簡単になった • データエンジニア) ETLジョブが失敗した際の原因調査において、どのTableが原因か簡単に確認でき

    るようになった • データプランナー) Tableを利⽤しているReportを確認することで、データの使い⽅がわかる
  23. Affected Accounts の活⽤事例 活⽤事例 • データ管理者) Usage Summaryからデータが不要か簡単に確認できるようになった • データサイエンティスト)

    どのデータがよく使われているかわかり、 利⽤すべきデータの検討を付け られる • データガバナー) データの変更や不具合があった際に、権限を持っている⼈に簡単にアナウンスできる
  24. 今後の活動 メタデータの更なる活⽤ 検索機能の強化 • 検索スコアをチューニングし、よりユーザーが求める結果が上位に来るようにする Query Editorのエンハンス • 実⾏するQueryがアクセスするデータの統計情報に応じて、Queryを実⾏するのに最適な Query

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

    まとめ
  26. 最後に

  27. 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の開発
  28. THANK YOU