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

October 20, 2022
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

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

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

    データ関連業務の効率化に必要な機能を提供 • 多様な活⽤ニーズに応えるために、内製している ※exploratory data analysis
  3. 活⽤の規模 ར༻ऀ • σʔλΤϯδχΞ • σʔλΨόφʔ • σʔλαΠΤϯςΟετ • .-ΤϯδχΞ

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

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

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

    Summary • 直近の利⽤ユーザーやアクセス数、 利⽤しているBIツール等をサマリー表⽰ 提供機能 Affected Accounts
  7. 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
  8. 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を導⼊した話)
  9. 実現⽅法 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
  10. 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で収集
  11. Affected Accounts の活⽤事例 活⽤事例 • データ管理者) Usage Summaryからデータが不要か簡単に確認できるようになった • データサイエンティスト)

    どのデータがよく使われているかわかり、 利⽤すべきデータの検討を付け られる • データガバナー) データの変更や不具合があった際に、権限を持っている⼈に簡単にアナウンスできる
  12. 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の開発