Hueによる分析業務
改善事例
株式会社ドワンゴ
第二サービス開発本部
木浦 正博
自己紹介
• 木浦正博, Masahiro Kiura
• 株式会社ドワンゴ/第二サービス開発本部
• ソフトウェアエンジニア
• 2015年01月入社
• I ❤️
• 分散システム(Hadoop/Grid computing etc…)
• パラメータチューニング
• Linux
• Python
DWANGO Co., Ltd. all rights reserved. 2
会社紹介
株式会社ドワンゴ
• カドカワグループ
• ニコニコ動画、ニコニコ生放送を
はじめとするニコニコ事業を展開
• 2016年04月 N高等学校/N予備校 開校
• 2017年04月 ニコニコ超会議2017開催
項目 データ
登録者数 約6,743万人
プレミアム会員数※ 約243万人
MAU 約913万人
※プレミアム会員とは?
月額540円にて、専用回線での快適な視聴や、
生放送の優先視聴ほか様々な特典を受けられます
※2017年03月末時点のデータです
ユーザ数情報
2017/9/20 DWANGO Co., Ltd. all rights reserved. 3
Agenda
• ドワンゴの分析基盤の紹介
• 分析基盤におけるHue
• Hueによりドワンゴの分析業務はどのように変わったのか?
• 事例1:社内ユーザの業務
• 事例2:基盤の変化
• 変化へ対応するためのアクション
• ナレッジの蓄積
• 可用性の向上
• まとめ
2017/9/20 DWANGO Co., Ltd. all rights reserved. 4
ドワンゴの分析基盤の紹介
• 利用用途
• 分析(UU, PV, etc..)
• 情報推薦、レポーティング等
• ワークロード
• Pigが80〜90%
• 残りはHive on Spark/Spark, etc..
• 利用者
• 連携システム 6
• 社内ユーザ 200+
• Pig
• Hive on Spark
• Spark
Date CM version CDH version
2014/03- N/A 4.3.0
2015/05- 5.4.1 5.4.1
2016/07- 5.7.1 5.7.1 w/patch
2016/10- 5.8.2 5.8.2
2017/03- 5.10.1 5.10.1 w/patch
2017/06- 5.11.1 5.11.1
CDHアップデート情報
2017/9/20 DWANGO Co., Ltd. all rights reserved. 5
ドワンゴの分析基盤がData Impact Awardの
Finalistに選ばれました! 詳細は11月の
Cloudera World Tokyo 2017で講演予定です。
分析基盤におけるHue
• 2016/06からHueの利用開始
• 自社開発のWebUIを2014年頃から運用
• ブラウザを通じて、社内ユーザがPig/MRを実行することを想定
• より社内のニーズに答え、コストを削減するためHueへ移行
• 移行詳細は、昨年のCloudera World Tokyoの発表資料をご確認ください
2017/9/20 DWANGO Co., Ltd. all rights reserved. 6
https://www.slideshare.net/aircastle/hadoop-webui
分析業務はHueでどのように変わったのか?
• 事例1:社内ユーザの業務
• 事例2:基盤の変化
2017/9/20 DWANGO Co., Ltd. all rights reserved. 7
事例1:社内ユーザの業務
• これまで
• Workflowを実行する仕組みがない
ため、逐次WebUIからMR/Pig実行
• Jobの実行完了を検知できないため、
Job実行状況をユーザ自ら確認する
必要があった
• Hue導入後
• 分析業務はQuery Editor/Oozie
Workflowで完結するように
• システム化するほどでもない
定型処理は、Hueから視覚的に
Coordinatorを作成し実行
• 実行結果はTableauやHueから確認
2017/9/20 DWANGO Co., Ltd. all rights reserved. 8
Hadoopクラスタ
OozieHue
社内ユーザ
1.Oozie Coordinatorの作成
3. Coordinatorの実行完了を
メールもしくはSlackから通知
• 50種類程度のCoordinatorが動作中
• 定型処理の自動化(Coordinator化)が進み、社
内ユーザによる実行制御が不要に
2. MR/Pig/Spark等の定期実行
事例1:社内ユーザの業務
2017/9/20 DWANGO Co., Ltd. all rights reserved. 9
並列もしくは直列のPigスクリプト実行
多いもので5並列、1段から3段程度
実行開始をメールからSlackに通知
実行完了をメールからSlackに通知
Hueを利用すると、非技術者でも複雑なWorkflowや
Coordinatorを、XMLを定義することなく視覚的に開発可能
事例2:基盤の変化
• 定型のレポーティングを容易にする社内Webサービス
• 社内ユーザがこのWebサービスに条件を入力
• 専用データベースから情報を取得し、加工した上で社内ユーザへ提供
• この社内Webサービスの課題
• Webサーバのスケーラビリティ
• 専用データベースの管理・運用
2017/9/20 DWANGO Co., Ltd. all rights reserved. 10
4.レポートのDLURLを通知
5. ユーザは社内WebサービスからDL
1.レポーティング
条件の入力
社内Webサービス
社内ユーザ
データベース
2. 情報の取得/加工
3. レポートファイルを作成・ACLを設定
事例2:基盤の変化
• Hue/Oozieベースで再開発
• 専用データベースの管理をやめ
HadoopクラスタでSparkを実行
• 社内Webサービスは、Oozie APIや
HttpFS APIを利用する構成で簡素化
• 社内ユーザはHueのFileBrowserから
データ取得
2017/9/20 DWANGO Co., Ltd. all rights reserved. 11
• 性能・スケーラビリティの向上
• 管理するミドルウェア・コードベースの簡素化
• レポートをHueから取得するようにしたことで、ロー
カルサーバ上のデータ管理から脱却
Hadoopクラスタ
Oozie
社内Webサービス
社内ユーザ
3. Sparkの実行/実行結果の保存
2. API経由での
Workflow実行
4.実行完了の通知
Hue
1.レポーティング
条件の入力
3.レポートのDL
URL(Hue)を通知
4.DL URL(Hue)からDL
変化へ対応するためのアクション
• ナレッジの蓄積
• 可用性の向上
2017/9/20 DWANGO Co., Ltd. all rights reserved. 12
ナレッジの蓄積
• 社内Hue勉強会/社内ユースケースに応じたドキュメントの整備
• トラブルシューティング
• 社内ユーザからの質問対応や、稀に発生するエラーへの対応
2017/9/20 DWANGO Co., Ltd. all rights reserved. 13
Pig中の変数が多い場合、PigEditorから
実行時に変数を全て指定する必要がある
そのような場合は、Job Designerから
変数のデフォルト値を設定して実行する
ジョブ名が英数字255文字(マルチバイト63文字)以上
の場合は、YARN/Hueがエラーを返すため注意が必要
可用性の向上
• Hueの同時アクセス数が増加するとWebUIの応答が遅くなる
• 場合によってはHueサーバが落ちる
• Hueのスレッド数を調節
• HueサーバのHW増強
https://www.cloudera.com/documentation/enterprise/5-11-
x/topics/cdh_hag_hue_config.html
Hueサーバを増やし、ip_hashで振り分け
2017/9/20 DWANGO Co., Ltd. all rights reserved. 14
まとめ
• Hueによりドワンゴの分析業務はどのように変わったのか?
• OozieからWorkflow, Coordinatorの実行が可能に
• 非技術者でも視覚的にWorkflow, Coordinatorを作成し自動化可能に
• 基盤側からHDFS上のデータを社内ユーザに向けて提供する際の
UIとしてFileBrowserを利用
• 変化へ対応するためのアクション
• Hueの機能に対するナレッジの蓄積
• 社内ユーザから上がってくる質問対応・トラブルシューティング対応
• Hueの利用が増えることによる、HW増強
2017/9/20 DWANGO Co., Ltd. all rights reserved. 15
Hadoop, Hive, Pig, Spark and Oozie are either registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
Cloudera and Hue are trademarks of Cloudera, Inc. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Python is a registered trademark
of the PSF.
We’re hiring !
ドワンゴでは、分析基盤の利便性をより向上
させることができるエンジニアを募集しています!
ドワンゴ データプラットフォーム

Hueによる分析業務の改善事例