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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. LINEのData Platform
    Data Platform

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. )%'4$BQBDJUZ 1#


    )JWFUBCMFT

    +PCT%BZ

    データの規模

    View Slide

  10. 活⽤の規模
    ར༻ऀ

    σʔλΤϯδχΞ

    σʔλΨόφʔ

    σʔλαΠΤϯςΟετ

    .-ΤϯδχΞ

    αʔϏε։ൃऀ

    αʔϏεϓϥϯφʔ
    ར༻πʔϧ

    5BCMFBV

    ಺੡#*πʔϧ 0"4*4


    #BUDI
    「Always Data-driven」
    専⾨家
    ⾮専⾨家

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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を導⼊した話)

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. 最後に

    View Slide

  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の開発

    View Slide

  28. THANK YOU

    View Slide