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
210
ナビタイムジャパンに集まる移動ビッグデータの分析基盤
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
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
15k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
440
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
160
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
2.5k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.4k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
270
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.4k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.3k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.4k
Other Decks in Technology
See All in Technology
組織におけるCCoEの役割とAWS活用事例
nrinetcom
PRO
4
130
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
140
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
350
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
540
AIエージェント元年@日本生成AIユーザ会
shukob
1
200
MIMEと文字コードの闇
hirachan
2
1.4k
php-conference-nagoya-2025
fuwasegu
0
150
Active Directory攻防
cryptopeg
PRO
8
5.4k
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.5k
OPENLOGI Company Profile for engineer
hr01
1
20k
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
10
3.7k
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
630
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
370
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Docker and Python
trallard
44
3.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
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 ご清聴ありがとうございました