SlideShare a Scribd company logo
データドリブン企業における
Hadoop基盤とETL
-niconicoでの実践例-
株式会社ドワンゴ
共通基盤開発部
志村 誠
自己紹介
> 志村誠
– 株式会社ドワンゴ
開発本部 共通基盤開発部 数値基盤セクション
– 2011年にドワンゴ入社
以来ログ解析基盤の開発/運用,データ活用を担当
会社紹介
会社概要
会社概要
niconicoの概要
動画
生放送
静画
電子書籍
マンガ
チャンネル
アプリ
ブロマガ
立体
コミュニティ
ニコニ広告
ニュース
ニコナレ
nicobox
ファミリーサービ
ス
PC
SP web
iOSアプリ
Androidアプリ
FP web
PS Vita
3DS
WiiU
PS4
Xbox One
Viera
Bravia
LGテレビ
Amazon Fire TV
Windowsアプリ
GearVR
対応デバイスサービス概要
2006/12開始
MAU 約895万
登録会員 約5,124万
有料会員 約253万
- コンテンツ投稿
- コメント
- マイリスト
- タグ編集
niconicoの概要
動画
生放送
静画
電子書籍
マンガ
チャンネル
アプリ
ブロマガ
立体
コミュニティ
ニコニ広告
ニュース
ニコナレ
nicobox
ファミリーサービ
ス
PC
SP web
iOSアプリ
Androidアプリ
FP web
PS Vita
3DS
WiiU
PS4
Xbox One
Viera
Bravia
LGテレビ
Amazon Fire TV
Windowsアプリ
GearVR
対応デバイスサービス概要
2006/12開始
MAU 約895万
登録会員 約5,124万
有料会員 約253万
- コンテンツ投稿
- コメント
- マイリスト
- タグ編集
単一のniconicoユーザIDに紐づいて
- 10個以上のファミリーサービス
- 15個以上の対応デバイス
- コンテンツ投稿,コメント,マイリスト,タグ編集,
お気に入り登録などのユーザアクション
B2C大規模Webサービスの
特徴とETLの要件
B2C大規模Webサービスの特徴
> 事業の成長が速い
> 事業の変化が速い
> 施策の実施サイクルが速い
事業の成長が速い
> 巨大データへの対応
> 高速な分析を実施
> 分析者の育成
データ活用の要件
事業の成長が速い
> 巨大データへの対応
> 高速な分析を実施
> 分析者の育成
> 全行程でスケールアウト
> 高速なジョブ実行エンジン
> 使いやすいデータ形式
– テーブルの非正規化
– データフォーマットの統一
データ活用の要件 ETLの要件
事業の変化が速い
> 仕様変更に対する追従の
容易性を担保
> KPIの整合性担保
データ活用の要件
事業の変化が速い
> 仕様変更に対する追従の
容易性を担保
> KPIの整合性担保
> 仕様変更を前提とした
ETLプロセス
> 仕様変更をETLで吸収
– さまざまな前処理を実施
– 処理のコンポーネント化
データ活用の要件 ETLの要件
施策の実施サイクルが速い
> 適材適所の分析手段
– ABテストツール
– 主要指標のダッシュボード
– ストリームデータへのクエ
リ
– BIツールで深堀
– ストアデータへバッチ
データ活用の要件
施策の実施サイクルが速い
> 適材適所の分析手段
– ABテストツール
– 主要指標のダッシュボード
– ストリームデータへのクエ
リ
– BIツールで深堀
– ストアデータへバッチ
> データフローの各所で利用を
想定
> 利用可能までのリードタイム
短縮
> 適切なSLAの設定
– 提供タイミング
– 精度
データ活用の要件 ETLの要件
B2C大規模Webサービスの特徴
> 事業の成長が速い
> 事業の変化が速い
> 施策の実施サイクルが速い
B2C大規模Webサービスの特徴
> 事業の成長が速い
> 事業の変化が速い
> 施策の実施サイクルが速い
これが10年続くと…
- 複数回の大きなフロント/バックの変更
- 根幹部分に初期の負債が未だに残存
- サービス・デバイスの拡大による集計軸の多様化
B2C大規模Webサービスの特徴
> 事業の成長が速い
> 事業の変化が速い
> 施策の実施サイクルが速い
これが10年続くと…
- 複数回の大きなフロント/バックの変更
- 根幹部分に初期の負債が未だに残存
- サービス・デバイスの拡大による集計軸の多様化
ETLもこうした課題に対応しながら進化して
いかないといけない
niconicoにおける
データ活用とETL
niconicoのデータ活用指針
> 業務で必要な全社員が,自分自
身でデータ集計・分析する
> 分析部署だけで,社内の全部署
のニーズをすべて満たすことは
不可能
> 手軽に分析できる環境の提供と,
教育体制の拡充
> 多くのファミリーサービスと多デ
バイス展開
> さまざまなユーザアクション
> ユーザ行動をとらえるためには
横断的な分析が必要
> あらゆるデータが分析基盤上に
誰もがデータ分析データを1カ所に集約
ETLで考慮する範囲
Extract
Transform
Load
Service
User
ETLで考慮する範囲
Extract
Transform
Load
Service
User
設計の流れ
ETLで考慮する範囲
Extract
Transform
Load
Service
User
設計の流れ
> ETL前後の要素
– User:
• どんなユーザがどう利用するか
• 逆算的にServiceまで影響
– Service:
• 仕様の把握とIFの定義
• 仕様変更への追従
> 考慮する範囲
– 分析手法のどこまで介入するか
– サービス側にどこまで仕様を強制するか
データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-
Norikra
fluentd
Pig / Hive
MapReduce
Hive / Impala
scp
内製バッチジョブフレームワーク
MapReduce → Spark
niconicoのETLにおける問題
> ETLの品質をどうやって継続的に担保するか
> システムの刷新サイクルをどう担保するか
> サービス側の独自仕様をどう吸収するか
> 過去データとの整合性をどう担保するか
ETLの品質をどうやって継続的に担保するか
> 属人性の排除
– 人員の入替の激しさを吸
収
– 保守性よく腐りにくい言語
> ビジネスロジックとコード
の分離
– モジュール化できる作業
ポイント
ETLの品質をどうやって継続的に担保するか
> 属人性の排除
– 人員の入替の激しさを吸
収
– 保守性よく腐りにくい言語
> ビジネスロジックとコード
の分離
– モジュール化できる作業
> 初期のMRが未だに現役
– 3段→7段の素のMR
– テーブルの非正規化
> 作り直し
– MR /Sparkのモジュール
– ドキュメント整備
ポイント 実際
システムの刷新サイクルをどう担保するか
> 技術的負債の解消
– 言語やフレームワークの陳腐
化の早さ
> 解消のコストの高さ
– リプレースは価値を生まない
– バックエンドの分析基盤
– 数値整合性を担保する困難
ポイント
システムの刷新サイクルをどう担保するか
> 技術的負債の解消
– 言語やフレームワークの陳腐
化の早さ
> 解消のコストの高さ
– リプレースは価値を生まない
– バックエンドの分析基盤
– 数値整合性を担保する困難
> 内向けにきちんと説明
> 標準化とフレームワーク
– ログフォーマットの標準化
– ログ整形処理の標準化とモ
ジュール化
• 例外処理への対応も必須
– バッチ実行フレームワークの
再開発
ポイント 実際
サービスの独自仕様をどう吸収するか
> 独自仕様はなくならない
– パフォーマンス優先
– システムの制約
– リリースまでの期日
> ミドルウェア導入ができな
い場合もままある
ポイント
サービスの独自仕様をどう吸収するか
> 独自仕様はなくならない
– パフォーマンス優先
– システムの制約
– リリースまでの期日
> ミドルウェア導入ができな
い場合もままある
> コメントサーバ
– パフォーマンス優先
– 標準化に載せられない
– ユーザIDの中身
> オンプレ/クラウド
– 別DC/AWS/Azure/CDNから
– フォーマットやタイムゾーン
– ストリームでのデータ転送
ポイント 実際
過去データとの整合性(1) 仕様変更
> 大きなサービス側システ
ム構成の変更
– 複数サービスの統合
– サービスを複数に分割
– バックエンド基盤の置換
> 集計・分析を考慮した設
計を求める
ポイント
過去データとの整合性(1) 仕様変更
> 大きなサービス側システ
ム構成の変更
– 複数サービスの統合
– サービスを複数に分割
– バックエンド基盤の置換
> 集計・分析を考慮した設
計を求める
> 具体例
– niconico動画/生放送iOS →
niconico iOS
– システム構成の変更による
PKの変更,追加
– KPIに関わる基盤置換
> 開発プロセスにKPI設計と
数値評価が含まれる組織
体制
ポイント 実際
過去データとの整合性(2) 過去データ取込
> ストアデータとログデータ
のフォーマット差異
– サービス開始の後から
データ取り込みを行う場合
> 外部サービスの統合や買
収,企業統合など
ポイント
過去データとの整合性(2) 過去データ取込
> ストアデータとログデータ
のフォーマット差異
– サービス開始の後から
データ取り込みを行う場合
> 外部サービスの統合や買
収,企業統合など
> コメントデータ
– 一定レコード毎にファイル
に直書き
– ファイルをディレクトリ階層
で管理
– ログとしては,レコード更新
毎に1行吐き出す
ポイント 実際
まとめ
まとめ
> ETLはそれ単体ではなく,以下の点を併せて考慮す
る必要がある
– データ活用の方針
– 各システムの仕様と変更可能性
> WebサービスのETLは,サービス自体や用いる技術
が時間とともに大きく変化する
– 標準化 + モジュール化 + 例外処理の余地
– 仕様変更を事前に考慮 & 仕様変更時の仕様強制
以上

More Related Content

PPTX
niconicoにおける継続的なデータ活用のためのHadoop運用事例
PPTX
SEGA : Growth hacking by Spark ML for Mobile games
PDF
Amebaにおけるレコメンデーションシステムの紹介
PDF
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
PPTX
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
PDF
Yahoo! JAPANのデータ基盤とHadoop #dbts2016
PDF
「Data Infrastructure at Scale 」#yjdsw4
PDF
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
niconicoにおける継続的なデータ活用のためのHadoop運用事例
SEGA : Growth hacking by Spark ML for Mobile games
Amebaにおけるレコメンデーションシステムの紹介
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
リクルートライフスタイルの考える ストリームデータの活かし方(Hadoop Spark Conference2016)
Yahoo! JAPANのデータ基盤とHadoop #dbts2016
「Data Infrastructure at Scale 」#yjdsw4
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~

What's hot (20)

PDF
Business Innovation cases driven by AI and BigData technologies
PPTX
データ利活用を促進するメタデータ
PPTX
2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』
PDF
大規模サイトを支えるビッグデータプラットフォーム技術
PPT
Hadoop ~Yahoo! JAPANの活用について~
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
PDF
データファースト開発
PDF
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
PDF
Yahoo! JAPANを支えるビッグデータプラットフォーム技術
PDF
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
PPTX
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
PDF
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
PDF
DBREから始めるデータベースプラットフォーム
PDF
db tech showcase2019 オープニングセッション @ 石川 雅也
PPTX
dstn交流会_data_spider 3.0最新情報とデモ
PDF
楽天がHadoopを使う理由
PDF
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
PDF
データの見える化で進めるデータドリブンカンパニー #devsumiC
PDF
僕の考える最強のビックデータエンジニア
PDF
ビッグデータ関連Oss動向調査とニーズ分析
Business Innovation cases driven by AI and BigData technologies
データ利活用を促進するメタデータ
2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』
大規模サイトを支えるビッグデータプラットフォーム技術
Hadoop ~Yahoo! JAPANの活用について~
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
データファースト開発
Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料)
Yahoo! JAPANを支えるビッグデータプラットフォーム技術
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
DBREから始めるデータベースプラットフォーム
db tech showcase2019 オープニングセッション @ 石川 雅也
dstn交流会_data_spider 3.0最新情報とデモ
楽天がHadoopを使う理由
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
データの見える化で進めるデータドリブンカンパニー #devsumiC
僕の考える最強のビックデータエンジニア
ビッグデータ関連Oss動向調査とニーズ分析
Ad

Viewers also liked (7)

PPTX
Case Study: OLAP usability on Spark and Hadoop
PDF
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
PDF
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
PDF
大規模データに対するデータサイエンスの進め方 #CWT2016
PDF
Hadoop’s Impact on Recruit Company
PPTX
sparksql-hive-bench-by-nec-hwx-at-hcj16
PDF
Top 5 mistakes when writing Spark applications
Case Study: OLAP usability on Spark and Hadoop
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
大規模データに対するデータサイエンスの進め方 #CWT2016
Hadoop’s Impact on Recruit Company
sparksql-hive-bench-by-nec-hwx-at-hcj16
Top 5 mistakes when writing Spark applications
Ad

Similar to データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例- (20)

PPTX
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
PDF
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
PPTX
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
PDF
Hadoop ecosystem NTTDATA osc15tk
PDF
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
PDF
39 works:ドコモにおける オープンイノベーションプログラムの紹介
PDF
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
PDF
Treasure Data Intro for Data Enthusiast!!
PDF
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
PDF
Tableau事例発表20151028
PDF
利用者主体で行う分析のための分析基盤
PDF
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
PDF
「NOSQLの基礎知識」講義資料 第20回JDMC定例セミナー(201310)
PDF
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
PDF
BigData-JAWS 2020-11-30 - AWS Batchによるデータ変換処理
PDF
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
PDF
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
PPTX
FlyData Autoload: 事例集
PDF
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PDF
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
Hadoop ecosystem NTTDATA osc15tk
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
39 works:ドコモにおける オープンイノベーションプログラムの紹介
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Treasure Data Intro for Data Enthusiast!!
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
Tableau事例発表20151028
利用者主体で行う分析のための分析基盤
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
「NOSQLの基礎知識」講義資料 第20回JDMC定例セミナー(201310)
分散処理基盤Apache Hadoopの現状と、NTTデータのHadoopに対する取り組み
BigData-JAWS 2020-11-30 - AWS Batchによるデータ変換処理
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ...
FlyData Autoload: 事例集
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
Jenkinsとhadoopを利用した継続的データ解析環境の構築

データドリブン企業におけるHadoop基盤とETL -niconicoでの実践例-