Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
データ分析基盤のはじめかた 中村 優
Slide 2
Slide 2 text
中村 優 (chanyou0311) ● 広島出身広島在住のエンジニア ● 呉高専出身 ● 趣味はクルマと工作 ● PyCon JP 2022 のスタッフ 2019年4月 株式会社ガイアックス 2022年1月 株式会社 MaaS Tech Japan
Slide 3
Slide 3 text
広島県の交通系データ基盤に採択されました https://www.maas.co.jp/news/release20210826/
Slide 4
Slide 4 text
PyCon JP 2022 を10月に開催します 日程: 10/14(金) から 10/16(日) まで 会場: TOC有明コンベンションホール 数百人規模のオフラインイベントを想定しています 現在スポンサー募集中です!
Slide 5
Slide 5 text
本題へ!
Slide 6
Slide 6 text
このセッションのゴール ● データ分析基盤を構築するシチュエーションがわかる ● データ分析基盤の基本的な構成要素がわかる なんかデータ分析基盤作れそう!作ってみたい 💪
Slide 7
Slide 7 text
今日お話すること ● データ分析基盤とは何か ● データ分析基盤の構成要素 インフラエンジニアの視点でデータ分析基盤を解剖する
Slide 8
Slide 8 text
今日お話しないこと ● データ分析基盤で使われる技術の具体的な選定方法 ● データ分析基盤の運用、活用 ● データ分析の文化の醸成
Slide 9
Slide 9 text
データ分析基盤とは何か
Slide 10
Slide 10 text
そもそもデータ分析とは?
Slide 11
Slide 11 text
データから何らかの意味を 引き出す行為のこと
Slide 12
Slide 12 text
データ分析のアプローチ ● 統計学 ● 機械学習
Slide 13
Slide 13 text
データ分析のアプローチ ● 統計学 ● 人間の意思決定を支える ● グラフでアウトプットされることが多い ● 機械学習
Slide 14
Slide 14 text
データ分析のアプローチ ● 統計学 ● 人間の意思決定を支える ● グラフでアウトプットされることが多い ● 機械学習 ● 人間の判断を自動化する ● モデルをシステムに組み込むことが多い 関連動画は こちら
Slide 15
Slide 15 text
データ分析基盤とは何か データから何らかの意味を引き出すためのシステム
Slide 16
Slide 16 text
データ分析基盤とは何か データから何らかの意味を引き出すためのシステム ↓ データを読み込んで、取り出しやすい形に整形して蓄積する 使う時にサッと読み込める
Slide 17
Slide 17 text
データ分析基盤 データベース + 変換処理
Slide 18
Slide 18 text
データ分析基盤の構成要素
Slide 19
Slide 19 text
データ分析基盤の構成要素(簡易版) データソース データベース データ活用 データの処理
Slide 20
Slide 20 text
データ分析基盤の構成要素(簡易版) データソース データベース データ活用 データの処理 データ分析基盤
Slide 21
Slide 21 text
● 社内の RDB、POS データ ● Web API、スクレイピング ● センサーデータ ● オープンデータ、購入したデータ データソース: データの収集源 データソース データベース データ活用
Slide 22
Slide 22 text
データ活用: モデル構築や可視化 データソース データベース データ活用 ● BI ツール ● Jupyter Notebook
Slide 23
Slide 23 text
でも、この構成だと…
Slide 24
Slide 24 text
データソース データベース データ活用 ① CSVファイルから 必要なカラムだけデータ ベースに保存しよう ② あとから別のカラムも 必要になった… データソースから データを再取得する必要が生じた… この構成のつらいところ 1/2
Slide 25
Slide 25 text
データソース データベース データ活用 ① 巨大な CSV だけどそ のままデータベースに保 存しておこう ② 複雑な条件でクロス集 計したいのに処理が終わ らない… データベースのスキーマがデータ活用時と かけ離れていて、処理コストが高い… この構成のつらいところ 2/2
Slide 26
Slide 26 text
データソース データベース データ活用 単一のレイヤーだと データ活用の要求を吸収しきれない あれもしたい これもしたい… いま言われても…
Slide 27
Slide 27 text
データベースを役割ごとに 分割すると解決しそう!
Slide 28
Slide 28 text
データ分析基盤の構成要素 データソース データ活用 データベース
Slide 29
Slide 29 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 データベース
Slide 30
Slide 30 text
生データの保存場所 データレイク データウェア ハウス データマート ● 形式は Excel、CSV、JSON、PDF、音声、画像、動画… ● 実体は AWS S3、GCP Cloud Storage など
Slide 31
Slide 31 text
生データを構造化して保存する場所 データレイク データウェア ハウス データマート ● 実体は Google BigQuery, Amazon RedShift など ● Avro, Parquet ファイル形式で持つこともある
Slide 32
Slide 32 text
データ活用のために 加工したデータの保存場所 データレイク データウェア ハウス データマート ● データ活用の用途に応じて、都度データマートを作成する ● 不要な列を削減したり、複雑なクエリを予め実行しておく
Slide 33
Slide 33 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 データの処理
Slide 34
Slide 34 text
データの処理方法
Slide 35
Slide 35 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 データの処理
Slide 36
Slide 36 text
データの処理方法 ● バッチ ● ストリーム
Slide 37
Slide 37 text
データの処理方法 ● バッチ ● 一度限り、あるいは定期的に実行する処理 ● ストリーム ● 継続してリアルタイムに実行する処理
Slide 38
Slide 38 text
データソースやデータ活用の 要件で使い分ける
Slide 39
Slide 39 text
データの処理方法 ● バッチ ● リアルタイムで更新されなくてもよい場合 ● 例: サイトのアクセス数のダッシュボード ● ストリーム ● 次々と発生するデータをすぐに活用する場合 ● 例: 異常値検知、急上昇ワードのレコメンド
Slide 40
Slide 40 text
データ分析基盤の実装例
Slide 41
Slide 41 text
connpass の急上昇イベントを把握するデータ分析基盤 ● イベント参加者の増減を時系列で可視化する
Slide 42
Slide 42 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用
Slide 43
Slide 43 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 宅鯖の crontab で 1分ごとに API を叩いて JSON Lines で保存する
Slide 44
Slide 44 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 宅鯖の crontab で 1分ごとに API を叩いて JSON Lines で保存する crontab で 10分ごとに BigQuery にロードする
Slide 45
Slide 45 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 宅鯖の crontab で 1分ごとに API を叩いて JSON Lines で保存する crontab で 10分ごとに BigQuery にロードする BigQuery の定期クエリ で15分ごとにデータマート を更新する
Slide 46
Slide 46 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 宅鯖の crontab で 1分ごとに API を叩いて JSON Lines で保存する crontab で 10分ごとに BigQuery にロードする BigQuery の定期クエリ で15分ごとにデータマート を更新する BigQuery の接続設定を してグラフを定義する
Slide 47
Slide 47 text
デモ
Slide 48
Slide 48 text
connpass の急上昇イベントを把握するデータ分析基盤 ● 自宅サーバーの稼働費用を除けば無料枠で作れる ● 趣味で作ってみましょう ● より信頼性を高めるには、ワークフロー管理ツールの導入を検 討すべき ● Apache Airflow
Slide 49
Slide 49 text
まとめ
Slide 50
Slide 50 text
データ分析基盤 データベース + 変換処理
Slide 51
Slide 51 text
データ分析基盤の構成要素 データソース データレイク データウェア ハウス データマート データ活用 データの処理
Slide 52
Slide 52 text
ぜひ身の回りのデータで データ分析基盤を作ってみよう!