Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ナビタイムジャパンに集まる移動ビッグデータの分析基盤
Search
NAVITIME JAPAN
PRO
July 27, 2020
Technology
0
130
ナビタイムジャパンに集まる移動ビッグデータの分析基盤
2020/07/27開催されたTech-on MeetUp Online#02「もしエンタープライズのエンジニアがデータ分析をやることになったら」にて発表した資料です。
NAVITIME JAPAN
PRO
July 27, 2020
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
1.7k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
130
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.2k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
4.8k
こうしてふりかえりは終わってしまった / A Demise of a retrospective
navitimejapan
PRO
44
27k
もーひとつの時間がない症候群 / Yet Another SOT Syndrome
navitimejapan
PRO
1
2.1k
シーズン2〜スクラムチームのバトンを渡す〜 / Season 2 -pass the button of a scrum team-
navitimejapan
PRO
2
2.9k
Other Decks in Technology
See All in Technology
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
コンテナ・K8s研修 - 後半 Kubernetes 基礎&ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
1
120
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
190
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
740
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.1k
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
270
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
180
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Code Review Best Practice
trishagee
58
16k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
GitHub's CSS Performance
jonrohan
1026
450k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
Infographics Made Easy
chrislema
238
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
Transcript
©NAVITIME JAPAN ナビタイムジャパンに集まる 移動ビッグデータの分析基盤 2020/7/27 株式会社ナビタイムジャパン 新立 和広
©NAVITIME JAPAN 自己紹介 新立 和広(しんたて かずひろ) 株式会社ナビタイムジャパン • 2009年入社 •
2014年~2017年までログデータ分析業務に従事 • 現在はデータ分析基盤の設計・構築に従事
©NAVITIME JAPAN 発表内容 • 会社紹介 • ログデータの活用事例 • データ分析基盤の構成 •
ログデータの収集 • 分析用データへの加工 • 分析系サービスの活用
©NAVITIME JAPAN 会社紹介
©NAVITIME JAPAN 会社概要 事業内容 ナビゲーションサイト・アプリの運営・開発 経路探索エンジンのライセンス事業 法人向け経路付地図配信ASP事業 ビジネスナビタイム事業 法人向けソリューション事業 メディア事業
テレマティクス事業 交通コンサルティング事業 海外事業 インバウンド事業 トラベル事業 MaaS事業 会社名 株式会社ナビタイムジャパン 設立 2000年3月 社員数 約500名(2019年3月現在) 5 ナビタイムジャパンの南青山オフィス
©NAVITIME JAPAN あらゆる移動手段、移動のシーンへの対応を目指しています ナビタイムジャパンのコンシューマサービス一覧 有料課金ユーザー数 約480万人 月間ユニークユーザー数 約5,100万人 ※2018年12月末時点 ※2018年12月末時点
6
©NAVITIME JAPAN サービスから集まるログデータ コンシューマサービス NAVITIME 乗換NAVITIME バスNAVITIME カーナビタイム トラックカーナビ 自転車NAVITIME
ツーリングサポーター ➢ 施策の検討 ➢ サービスへの活用 ➢ データ活用ビジネス 移動実績 検索履歴 口コミ情報 匿名化 抽出 分析
©NAVITIME JAPAN ログデータの活用事例
©NAVITIME JAPAN サービスへの活用 NT-FILTER 渋滞予測 ユーザーが走行した道路を地図に反映 道路・時間帯別の混雑度を予測
©NAVITIME JAPAN サービスへの活用 運転傾向に合わせた「推奨ルート」 Travel レコメンド 類似のユーザの検索履歴を参考に お勧めの観光地を提案 過去の走行データを分析し 運転傾向に合わせた
推奨ルートを提案
©NAVITIME JAPAN サービスへの活用 1列車・1停車駅ごとの混雑度を予測 電車・駅混雑予測 混雑エリアマップ 現在の混雑状況を9段階で地図上に表示
©NAVITIME JAPAN データ活用ビジネス:交通コンサルティング事業 信号制御分析システム用 民間プローブデータ提供 混雑予報をテレビ提供 2015年度『データなび』他 2016年度『ニュースチェック11』他 平成26年度 訪日外国人動向調査事業
ゴールデンルートにおける移動の分析 および各都市間での移動を分析
©NAVITIME JAPAN データ活用ビジネス:交通コンサルティング事業 ウェブ上で簡単に道路交通に関する各種分析ができるWeb分析システム リンク旅行速度 断面交通流 プロファイリング 道路分析システム『道路プロファイラー』 区間所要時間
©NAVITIME JAPAN 新型コロナウィルスの影響分析 http://consulting.navitime.biz/example/2020/07/03/post_6.html 緊急事態宣言による交通量および目的地検索の変化を分析
©NAVITIME JAPAN データ分析基盤の構成
©NAVITIME JAPAN データ分析基盤の全体像 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション
©NAVITIME JAPAN データ分析基盤の全体像 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 収集 加工 分析
©NAVITIME JAPAN ログデータの収集
©NAVITIME JAPAN ログデータの収集 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 収集
©NAVITIME JAPAN 分析目的で収集・保管しているデータ • サーバーのログ • アクセスログ • 一部のレスポンスデータ(経路情報) など
• ユーザーの行動・操作ログ • 位置情報 • アプリケーション上でのユーザ操作 など • データベースからの定期抽出 • ユーザデータ • マスターデータ • 地図データ • 施設・住所データ など
©NAVITIME JAPAN サーバーログの収集 fluentd – Kinesis Data Streamsによる収集 • 耐障害性やスループット向上
• 用途別の後続処理 AWS GCP データセンター データ分析環境 Kinesis Data Streams Lambda Kinesis Client データレイク リアルタイム分析 一定間隔で保存 ・生のテキストデータ ・適切なサイズ(数MB~100MB)に集約 ・gzip圧縮
©NAVITIME JAPAN 行動・操作ログの収集 Amazon Cognitoで認証し、 Web/モバイルアプリからKinesisに直接送信 Cognito Kinesis Data Streams
Kinesis Data Firehose データレイク 一定間隔で保存 認証 送信 効果測定や流入・流出の分析にはFirebase Analyticsを利用する事も多い • 解析ソリューションであり、構築コストが低い • 別のデータとの紐づけができず、深掘りした分析が困難なのが課題 ・生のテキストデータ ・適切なサイズ(数MB~100MB)に集約 ・gzip圧縮
©NAVITIME JAPAN 分析用データへの加工
©NAVITIME JAPAN 分析用データへの加工 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 加工
©NAVITIME JAPAN 加工する目的 • パフォーマンス最適化 • 10MB~100MBにファイル集約 • Parquet/ORCなどの列指向フォーマットへの変換 •
データを適切な階層構造に分割(パーティショニング) など • データの整形 • 生データを構造化データへと整形して扱いやすく • ユーザーに紐づく情報の匿名化・除去 など
©NAVITIME JAPAN 加工に用いるAWSサービス • EMR(Elastic MapReduce) • マネージド型のHadoopクラスタ • MapRecudeやSparkのプログラムによる分散処理
• Glue • AWSが提供するETLサービス • データのクロールによるスキーマ(カタログ)の自動認識 • SparkSQLベースの単純なETLコードの自動生成 ナビタイムでは、EMRを利用するケースが多い • バイナリデータのパース • Protocol BuffersやMessage Packなど • データの順序を考慮した変換処理 • 位置情報の異常値除去やマップマッチングなど
©NAVITIME JAPAN 分析系サービスの活用
©NAVITIME JAPAN 分析系サービスの活用 データセン ター データ分析環境 データレイク 分析用データ EMR EMR
オフィス GCP AWS Athena Web サイト Glue Glue Data Catalog アプリケーション 分析
©NAVITIME JAPAN 利用している分析系サービス • SQLだけでは不可能な分析 • EMR • SQLによる分析 •
Athena • BI/ダッシュボードツール • Tableau • re:dash • データプラットフォーム • Arm Treasure Data
©NAVITIME JAPAN Amazon Athenaとは • データ分析用途のSQLエンジン • S3上のデータを標準SQLを用いて直接解析できる • Mysql/PostgresなどRDBと比較して高速・大容量
• 従量課金であり多くのケースで安価
©NAVITIME JAPAN ナビタイムでのAthenaの活用方法 • 開発者によるインタラクティブなSQL実行 • たまに失敗してもリカバリが効く集計処理 現在はRedshift等は利用せず、Athenaで分析している • CREATE
TABLE AS/INSERT INTOなど、テーブルの作成・ 更新もAthena上で可能になった • 近日中にUDFもリリースされる・・・はず
©NAVITIME JAPAN Athenaによる準リアルタイム集計 AWS GCP データセンター データ分析環境 Kinesis Data Streams
Kinesis Client S3 1分間隔で 保存 Athena Athena 5分間隔で集計 15分間隔で集計 混雑エリアマップ 駅混雑予報 たまに失敗する事を前提に、本番サービスでも活用中 • 考慮すべき事項 • リトライ処理 • 失敗時は直近の結果を利用
©NAVITIME JAPAN BI/ダッシュボードツール • 導入の背景 • 分析結果を広く共有 • 巨大なエクセル・スプレッドシートからの脱却 •
発散しているデータ・情報の集約 • re:dash • ダッシュボードツール • KPIダッシュボードなど共有用途 • re:dashでは限界の場合にTableauを利用 • Tableau(Server) • BIツール • 高度な分析用途
©NAVITIME JAPAN BI/ダッシュボードツール • re:dashはAthenaと直接接続 • クエリは利用者が記述する為、適切なクエリを発行可能 • Tableauは一次集計結果を格納したDBと接続 •
Tableauが非効率的なクエリを発行する為、Athenaとの直接接続を禁止 • 内部DBへのデータの抽出を徹底できるなら接続できるが・・・ 分析用データ Athena RDS SQL JDBC接続 一次集計結果
©NAVITIME JAPAN Arm Treasure Data • Treasure Dataの特徴 • フルマネージドのデータ分析基盤
• 安定性が高いHiveと高速なPrestoを選択可能 • 入出力の連携先が豊富 • GUIでワークフローを作成可能 ⇒AWSのサービスを組み合わせるよりも、構築・運用の敷居が低い • WEBサイトのデータ分析基盤として活用 • Webページからのイベントログの収集 • 他社データとの連携 • データ分析 • 大量の定期集計業務 など
©NAVITIME JAPAN 現在の課題 • クラウドは歯止めが利かない • 高速化やチューニングを怠ってマシンリソースで解決しがち • 油断するとどんどん増えていくS3サイズ •
終わりなきAthenaの悪質クエリ指導 • パーティションを指定せずに全スキャン • 長期集計の乱発 • データの発散 • Firebase AnalyticsやTreasure Dataなど • これらのソリューションを使う事自体は問題ないので、 有用なデータは最終的にS3に蓄積できるようにしたい
©NAVITIME JAPAN 今後の取り組み • Amazon QuickSightの導入 • 分析がWeb上・マネージドサービス上で完結する • 安価な料金体系
• 機械学習系サービスの活用 • Sage Maker • Amazon Personalize • Amazon Forecast • AWS以外のクラウドベンダーの活用 • 現在はAWS中心になっている • GCP/Azureなど他の選択肢も増やしていきたい
©NAVITIME JAPAN ご清聴ありがとうございました