Slide 1

Slide 1 text

© LY Corporation アナリティクスエンジニアと その周辺の技術について LINEヤフー アナリティクスエンジニアリング2チーム 川上 祐司

Slide 2

Slide 2 text

© LY Corporation 2022年2月に*LINE Fukuokaに入社 2024年1月よりLINEヤフーへジョイン * LINE Fukuokaは現在、LINEヤフーコミュニケーション ズに社名が変更されています。 2 川上祐司 (Yuji Kawakami) アナリティクスエンジニアリング2チーム © LY Corporation

Slide 3

Slide 3 text

© LY Corporation Agenda 01 アナリティクスエンジニアとは? 02 現在の業務について 03 Pythonの利用について 04 アナリティクスエンジニアのキャリアについて 3

Slide 4

Slide 4 text

© LY Corporation アナリティクスエンジニアとは? 4

Slide 5

Slide 5 text

© LY Corporation データ分析のデータモデリングツールを開発しているdbtがAnalytics engineerを詳しく説明しているので、 以下を引用しました (以下引用 英語から日本語訳) アナリティクスエンジニアは、エンドユーザーに対してクリーンなデータセットを提供し、エンドユーザー が自分自身の質問に答えられるようにデータをモデリングする。 データアナリストがデータの分析に時間を費やす一方で、アナリティクスエンジニアはデータの変換、テス ト、デプロイ、およびドキュメント化に時間を費やす。 アナリティクスエンジニアは、バージョン管理や継続的インテグレーションといったソフトウェアエンジニ アリングのベストプラクティスをアナリティクスコードベースに適用します。 5 アナリティクスエンジニアとは? 引用:https://www.getdbt.com/what-is-analytics-engineering

Slide 6

Slide 6 text

© LY Corporation データ基盤周りの登場人物 6 アナリティクスエンジニアとは? データ利用者 データエンジニア データ基盤 データ分析 データの加工 データ基盤の運用 データの取り込み処理 データの加工 データ基盤の安定運用が メインの仕事さ データを活用してビジネ スへの貢献するのさ

Slide 7

Slide 7 text

© LY Corporation データ基盤の運用していくと少しずつ問題が出てきます。 会社の規模によっては役割が重複していて、それぞれやりたいことに集中できない場合があります。 7 アナリティクスエンジニアとは? データエンジニア データ利用者 データ基盤の運用だけで手一杯なのに業務ド メインの理解とその実装するのは大変だ データを活用してビジネス貢献したいけど、デー タ加工やデータの理解に時間がかかりすぎる

Slide 8

Slide 8 text

© LY Corporation データエンジニアとデータ利用者のそれぞれ苦労していた部分の橋渡しとなる存在としてアナリティクスエ ンジニアが誕生しました。 8 アナリティクスエンジニアとは? データエンジニア データ利用者 エンジニアとしての心得もあるの でデータの状態や理解できます! ビジネスサイドがすぐに使える便 利なデータセット用意します! アナリティクスエンジニア

Slide 9

Slide 9 text

© LY Corporation データに関わる関係者の ユーザー体験をより良くする仕事 9 アナリティクスエンジニアとは?

Slide 10

Slide 10 text

© LY Corporation データ基盤というのは色々な商品を売っているお店の運用に似ています。 • データ品質管理(商品の品質管理) • データカタログ整備(商品の生産地や成分など) • データドキュメント整備(商品の取り扱い方法、調理方法) • データの利用状況管理(商品売れ行き確認) • ユーザーが利用しやすいデータを作る(素材の前処理、お惣菜など) • 欲しいデータへのアクセスしやすさ向上(商品陳列の工夫) こちらは例なので、組織の規模によっては業務範囲が広がります。 業務内容について 10 アナリティクスエンジニアとは? どこに商品がある かわからない 買った商品の賞味 期限切れてる 欲しい商品の在庫 がない 料理が嫌いだから お惣菜が欲しいん だけど… どこにデータがあ るの? 手に入れたデータ が古い 欲しいデータは連携 されていないみたい 生データの加工か らしないといけな いのか

Slide 11

Slide 11 text

© LY Corporation 基本的なエンジニアスキルとビジネスへの関心 必要なスキルは? 11 アナリティクスエンジニアとは? • コミュニケーション • 問題解決 • 根気強さ • 情報整理力 ソフトスキル • Python • SQL • Modern Data Stack(dbt, Airflow, Fivetran, Snowflakeなど) ハードスキル

Slide 12

Slide 12 text

© LY Corporation データの収集、保存、処理、分析を効率的に行うために設計された一連のツールや技術を組み合わせて構築 する考え方やそれらの基盤のことであったり、それらツールをグルーピングしているものと言われています Modern Data Stack 12 アナリティクスエンジニアとは? 引用:https://www.moderndatastack.xyz/categories Airbyte Fivetran ETL tool Snowflake Google BigQuery Redshift DWH dbt データモデリング Airflow Prefect Dagster データオーケストレーション

Slide 13

Slide 13 text

© LY Corporation 現在の業務について 13

Slide 14

Slide 14 text

© LY Corporation LINEヤフーコミュニケーションズ(旧LINE Fukuoka) の業務システムのデータを集約して、データの可視 化を行うプロジェクトに参画しています。 14 現在の業務について Data lake 利用者 データエンジニア Data warehouse 業務システム 業務システム アナリティクスエンジニア Tableau BI担当者 Airflow

Slide 15

Slide 15 text

© LY Corporation LINEヤフーコミュニケーションズ(旧LINE Fukuoka)のデータ活用の話について興味がある方は以下の記事 を確認ください。 15 現在の業務について https://engineering.linecorp.com/ja/interview/behind-scenes-data-utilization https://tech-verse.me/ja/sessions/103

Slide 16

Slide 16 text

© LY Corporation 業務の流れ 16 現在の業務について JIRA BI担当者 依頼起票 ドキュメント作成 コーディング デプロイ データ検証 依頼者にヒアリングしながら 内容を整理する 依頼者との修正内容に合意を 取れたら修正を行う 開発環境や本番環境にてデプロイ 開発環境や本番環境にて修正 後の結果検証 ドキュメント作成 リリース後の結果やデータ基 盤ポータルサイトの更新 割とドキュメント駆動開発

Slide 17

Slide 17 text

© LY Corporation 現在の業務について 17 BI担当者 データ基盤ポータルサイト プロダクト一覧 データの内容一 覧 お知らせ データ基盤全体のお知らせ 障害状況 現在起きている障害の情報一覧 Q&A よくある質問集 Tips一覧 運営のTips リリース情報 リリースに関する情報の一覧 JIRAチケット情報 依頼の状況や依頼以外で発生した改修のチケットの状況がわかる一覧 アナリティクスエンジニア データエンジニア データ基盤に関する情報からすぐアクセスしやすいように情報を一箇所に集めることで情報取得しやすく しています。

Slide 18

Slide 18 text

© LY Corporation Pythonの利用について 18

Slide 19

Slide 19 text

© LY Corporation 基本的にはAirflowのオペレータ開発やDAGの作成を行っていますが、その他運用を効率化するためのツー ルなども開発しております。 開発効率改善活動 • Airflowのカスタムオペレータ • SQLからテーブルの依存関係を構築するライブラリ 運営改善活動 • Tableauの計算フィールドの情報整理するライブラリ 19 Pythonの利用について

Slide 20

Slide 20 text

© 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を生成

Slide 21

Slide 21 text

© LY Corporation 依存関係図をmermaidで作成できます。特定のテーブルと上流 or 下流の選択もできるので影響範囲の調査 がしやすく工夫しています。 開発効率改善活動 21 Pythonの利用について 全体図 https://mermaid.js.org/ A 下流 A A 上流

Slide 22

Slide 22 text

© LY Corporation 依存関係図はデータカタログの一部としてConfluenceにもAPI経由で記入。 開発効率改善活動 22 Pythonの利用について Confluence fact__xx__sample dim__xx__sample mart__xx__sample テーブルの基本情報 テーブルのリネージ xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Slide 23

Slide 23 text

© LY Corporation • Tableauの計算フィールドの情報整理するライブラリ • https://tableau.github.io/document-api-python/ 運営改善活動 23 Pythonの利用について Tableauワークブック 計算フィールド一覧.xlsx 未使用の計算フィールド一覧.xlsx ワークシート1.dot ワークシートN.dot 計算フィールドの依存関係図 計算フィールド 断捨離用

Slide 24

Slide 24 text

© LY Corporation Tableau document api • https://tableau.github.io/document-api-python/ 24 Pythonの利用について ローカルのワークブックを読み込んで計算フィールドの内 容や利用しているワークブックのリストが手に入る 計算フィールドの計算式も手に入るので、ロジックの整理 にも役に立つ

Slide 25

Slide 25 text

© LY Corporation アナリティクスエンジニア へのキャリアについて 25

Slide 26

Slide 26 text

© LY Corporation データ系職種のデータエンジニア、データサイエンティストなどはアナリティクスエンジニアの活動はしや すいです。 実際、アナリティクスエンジニアの役割をそれぞれが担っているケースも多いからです。 アプリケーションエンジニア、特にデータベースを触るバックエンドのエンジニアはデータに関する知識を 取得することでアナリティクスエンジニアへのキャリアが構築しやすいと思います。 26 アナリティクスエンジニアへのキャリアについて • 顧客対応 • ドキュメンテーション力 • アプリ開発に関連する知識 ITエンジニア アナリティクスエンジニア データ分析のための データモデリング ビジネス側の関心 ITエンジニア としての基盤

Slide 27

Slide 27 text

© 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 参考文献

Slide 28

Slide 28 text

© LY Corporation Thank you

Slide 29

Slide 29 text

© LY Corporation