Share
Embed
アナリティクスエンジニアとその周辺の技術について
アナリティクスエンジニアとその周辺の技術について
川上 祐司
※この資料は以下イベントで発表した内容です。
https://lycorptech-jp.connpass.com/event/328480/
#PythonFukuoka
LINEヤフーTech (LY Corporation Tech) PRO
October 15, 2024
Transcript
29 slides
-
© LY Corporation 2022年2月に*LINE Fukuokaに入社 2024年1月よりLINEヤフーへジョイン * LINE Fukuokaは現在、LINEヤフーコミュニケーション ズに社名が変更されています。
2 川上祐司 (Yuji Kawakami) アナリティクスエンジニアリング2チーム © LY Corporation -
© LY Corporation Agenda 01 アナリティクスエンジニアとは? 02 現在の業務について 03 Pythonの利用について
04 アナリティクスエンジニアのキャリアについて 3 -
© LY Corporation データ分析のデータモデリングツールを開発しているdbtがAnalytics engineerを詳しく説明しているので、 以下を引用しました (以下引用 英語から日本語訳) アナリティクスエンジニアは、エンドユーザーに対してクリーンなデータセットを提供し、エンドユーザー が自分自身の質問に答えられるようにデータをモデリングする。
データアナリストがデータの分析に時間を費やす一方で、アナリティクスエンジニアはデータの変換、テス ト、デプロイ、およびドキュメント化に時間を費やす。 アナリティクスエンジニアは、バージョン管理や継続的インテグレーションといったソフトウェアエンジニ アリングのベストプラクティスをアナリティクスコードベースに適用します。 5 アナリティクスエンジニアとは? 引用:https://www.getdbt.com/what-is-analytics-engineering -
© LY Corporation データ基盤周りの登場人物 6 アナリティクスエンジニアとは? データ利用者 データエンジニア データ基盤 データ分析
データの加工 データ基盤の運用 データの取り込み処理 データの加工 データ基盤の安定運用が メインの仕事さ データを活用してビジネ スへの貢献するのさ -
© LY Corporation データ基盤の運用していくと少しずつ問題が出てきます。 会社の規模によっては役割が重複していて、それぞれやりたいことに集中できない場合があります。 7 アナリティクスエンジニアとは? データエンジニア データ利用者 データ基盤の運用だけで手一杯なのに業務ド
メインの理解とその実装するのは大変だ データを活用してビジネス貢献したいけど、デー タ加工やデータの理解に時間がかかりすぎる -
© LY Corporation データエンジニアとデータ利用者のそれぞれ苦労していた部分の橋渡しとなる存在としてアナリティクスエ ンジニアが誕生しました。 8 アナリティクスエンジニアとは? データエンジニア データ利用者 エンジニアとしての心得もあるの
でデータの状態や理解できます! ビジネスサイドがすぐに使える便 利なデータセット用意します! アナリティクスエンジニア -
© LY Corporation データ基盤というのは色々な商品を売っているお店の運用に似ています。 • データ品質管理(商品の品質管理) • データカタログ整備(商品の生産地や成分など) • データドキュメント整備(商品の取り扱い方法、調理方法)
• データの利用状況管理(商品売れ行き確認) • ユーザーが利用しやすいデータを作る(素材の前処理、お惣菜など) • 欲しいデータへのアクセスしやすさ向上(商品陳列の工夫) こちらは例なので、組織の規模によっては業務範囲が広がります。 業務内容について 10 アナリティクスエンジニアとは? どこに商品がある かわからない 買った商品の賞味 期限切れてる 欲しい商品の在庫 がない 料理が嫌いだから お惣菜が欲しいん だけど… どこにデータがあ るの? 手に入れたデータ が古い 欲しいデータは連携 されていないみたい 生データの加工か らしないといけな いのか -
© LY Corporation 基本的なエンジニアスキルとビジネスへの関心 必要なスキルは? 11 アナリティクスエンジニアとは? • コミュニケーション •
問題解決 • 根気強さ • 情報整理力 ソフトスキル • Python • SQL • Modern Data Stack(dbt, Airflow, Fivetran, Snowflakeなど) ハードスキル -
© LY Corporation データの収集、保存、処理、分析を効率的に行うために設計された一連のツールや技術を組み合わせて構築 する考え方やそれらの基盤のことであったり、それらツールをグルーピングしているものと言われています Modern Data Stack 12 アナリティクスエンジニアとは?
引用:https://www.moderndatastack.xyz/categories Airbyte Fivetran ETL tool Snowflake Google BigQuery Redshift DWH dbt データモデリング Airflow Prefect Dagster データオーケストレーション -
© LY Corporation LINEヤフーコミュニケーションズ(旧LINE Fukuoka) の業務システムのデータを集約して、データの可視 化を行うプロジェクトに参画しています。 14 現在の業務について Data
lake 利用者 データエンジニア Data warehouse 業務システム 業務システム アナリティクスエンジニア Tableau BI担当者 Airflow -
© LY Corporation 業務の流れ 16 現在の業務について JIRA BI担当者 依頼起票 ドキュメント作成
コーディング デプロイ データ検証 依頼者にヒアリングしながら 内容を整理する 依頼者との修正内容に合意を 取れたら修正を行う 開発環境や本番環境にてデプロイ 開発環境や本番環境にて修正 後の結果検証 ドキュメント作成 リリース後の結果やデータ基 盤ポータルサイトの更新 割とドキュメント駆動開発 -
© LY Corporation 現在の業務について 17 BI担当者 データ基盤ポータルサイト プロダクト一覧 データの内容一 覧
お知らせ データ基盤全体のお知らせ 障害状況 現在起きている障害の情報一覧 Q&A よくある質問集 Tips一覧 運営のTips リリース情報 リリースに関する情報の一覧 JIRAチケット情報 依頼の状況や依頼以外で発生した改修のチケットの状況がわかる一覧 アナリティクスエンジニア データエンジニア データ基盤に関する情報からすぐアクセスしやすいように情報を一箇所に集めることで情報取得しやすく しています。 -
© LY Corporation 基本的にはAirflowのオペレータ開発やDAGの作成を行っていますが、その他運用を効率化するためのツー ルなども開発しております。 開発効率改善活動 • Airflowのカスタムオペレータ • SQLからテーブルの依存関係を構築するライブラリ
運営改善活動 • Tableauの計算フィールドの情報整理するライブラリ 19 Pythonの利用について -
© LY Corporation • AirflowのカスタムオペレータやAirflow用カスタムライブラリ • SQLからテーブルの依存関係を構築するライブラリ(jinja利用) 開発効率改善活動 20 Pythonの利用について
DagName |___sqls | |___fact | |___fact__xx__sample.sql | |___dim | |___dim__xx__sample.sql | |___mart | |___mart__xx__sample.sql |___sample_dag.py |___dependencies.json fact__xx__sample dim__xx__sample mart__xx__sample Airflow jsonからDAGを生成 -
© LY Corporation 依存関係図をmermaidで作成できます。特定のテーブルと上流 or 下流の選択もできるので影響範囲の調査 がしやすく工夫しています。 開発効率改善活動 21 Pythonの利用について
全体図 https://mermaid.js.org/ A 下流 A A 上流 -
© LY Corporation 依存関係図はデータカタログの一部としてConfluenceにもAPI経由で記入。 開発効率改善活動 22 Pythonの利用について Confluence fact__xx__sample dim__xx__sample
mart__xx__sample テーブルの基本情報 テーブルのリネージ xxxxxxxxxxxxxxxxxxxxxxxxxxxx -
© LY Corporation • Tableauの計算フィールドの情報整理するライブラリ • https://tableau.github.io/document-api-python/ 運営改善活動 23 Pythonの利用について
Tableauワークブック 計算フィールド一覧.xlsx 未使用の計算フィールド一覧.xlsx ワークシート1.dot ワークシートN.dot 計算フィールドの依存関係図 計算フィールド 断捨離用 -
© LY Corporation Tableau document api • https://tableau.github.io/document-api-python/ 24 Pythonの利用について
ローカルのワークブックを読み込んで計算フィールドの内 容や利用しているワークブックのリストが手に入る 計算フィールドの計算式も手に入るので、ロジックの整理 にも役に立つ -
© LY Corporation データ系職種のデータエンジニア、データサイエンティストなどはアナリティクスエンジニアの活動はしや すいです。 実際、アナリティクスエンジニアの役割をそれぞれが担っているケースも多いからです。 アプリケーションエンジニア、特にデータベースを触るバックエンドのエンジニアはデータに関する知識を 取得することでアナリティクスエンジニアへのキャリアが構築しやすいと思います。 26 アナリティクスエンジニアへのキャリアについて
• 顧客対応 • ドキュメンテーション力 • アプリ開発に関連する知識 ITエンジニア アナリティクスエンジニア データ分析のための データモデリング ビジネス側の関心 ITエンジニア としての基盤 -
© LY Corporation • https://www.moderndatastack.xyz/ • https://mermaid.js.org/ • https://tableau.github.io/document-api-python/ •
https://www.getdbt.com/what-is-analytics-engineering 27 参考文献