私の記事は個人的なメモで、間違った部分も多いため関連リンクを併読することをおすすめします。
特に今回は twitter と並行して読み書きしてたので、結構書き漏れてる箇所多いです。
網羅性とか正確性は期待しないように。
概要
イベント名 | Hadoop Conference Japan 2011 |
URL | http://hadoop-conference-japan-2011.eventbrite.com/ |
日時 | 2011/02/22 11:15 - 18:00 |
場所 | NTTデータ本社ビル内 カンファレンスルーム |
関連リンク
『Hadoop on クラウド / Amazon Elastic MapReduceの真価』
(Amazon Web Services, Jeff Barr)
Amazon Elastic MapReduceの紹介(英語)
View more presentations from 玉川憲 (Ken Tamagawa) - Amazon Web Services.
- web service evangelist
- 著書"Host Your Web Site in the Cloud"
- 先週翻訳された
- 著書"Host Your Web Site in the Cloud"
Big Data
- big data は大容量というだけではない
- 重要な課題
- ボリューム
- データ構造
- どういう需要があるか
- 早く結果がほしい
Amazon Elastic MapReduce
Customers
- Target ad/clickstream analysis
- DWH
- Bio-informatics
- Financial Simulations (monte carlo)
- File Processing
- Web Indexing
- Data mining and BI
HW Req for Use cases
- Data or I/O intensive m1/m2 instances
- DWH
- DM
- Click stream, logs, events, etc
- Compute or I/O intensive c1, cc1/HPC instances
- Credit Ratings
- Fraud Models
- Portfolio analysis
Razorfish and Best Buy
- 3.5B record 71M uniq cookies 1.7M targeted ads request/day
- 100 node clusters on demand
- Processing time dropped 2+ days to 8 hours
- increase ROAS Return on Advertising Spend by over 500%
- ROAS:広告宣伝費
- click stream アーキテクチャ 割と似てる
- 日本の顧客も同じらしい
MapReduce
- 業界の標準になってきている
- 開発者は理解してて当たり前
- take input data
- break in to sub-problems
- Distribute to worker nodes
- Worker nodes process sub-problems in parallel
- Take output of worker nodes and reduce to answer
EMR
- mapper reducer can use JAR
- Scale as large as needed
- support RHIPE
- 「りぺー」と読むらしい
- 将来的には HBase を直接サポートする
- EMR を使うことにより一番いい結果を見つけることが可能だからシミュレーションに適している
『MapReduceによる大規模データを利用した機械学習』
(株式会社Preferred Infrastructure, 岡野原 大輔)
MapReduceによる大規模データを利用した機械学習
View more presentations from PFI Marketing
MapReduce と機械学習
Mahout
大規模並列分散処理の最前線
- Google, MS, Yahoo! などが中心
- より強力なモデルを利用した機械学習
- 新しい技術がその年に並列処理化される
- グラフィカルモデル
- グラフィカルモデルの分散並列処理
- グラフィカルモデルの推論は一般に困難
- 様々な並列化アルゴリズムが提案されつつある
- MCMC のような方法でやる
- 頂点を相互排他的な酒豪で色分け、色ごとに更新
- 共参照解析(Google, 2010)
- 二つの言及は同じ実体を指しているか?
- 文中に出てくる「彼」と「Aさん」が同じかどうか
- NYT 20年分の記事中に含まれる述べ100万の人名参照
- 250台でもスケール
- 二つの言及は同じ実体を指しているか?
- 数値最適化問題
- Parameter mixture
- データを分割して計算し、平均をとる
- 性能も精度もいまいち
- Distributed Gradient
- 毎回パラメータを全ノード間で計算する必要あり
- 収束は遅い
- Asyncronous Update
- 収束保証できるが遅い
- Iterative parameter mixture
- データを分割し配る
- 最適化
- 平均をとる
- また全体に配る
- 収束証明ができ、実際に高性能
今後注目の技術
- Dremel
- 対話的大規模データ解析基盤
- 1兆件のデータが数秒で返ってくる
- 簡単なクエリだけに特化
- クエリ言語は SQL
- データは繰り返しありの木構造
- Google では 2006 年から利用
- 列指向のデータ格納
- 列指向DBの考えを木構造に応用
- データは圧縮レコード
- クエリに関係するフィールドだけを復元するオートマトンを生成して効率よく復元
- クエリ処理アーキテクチャ
- クエリは根から葉に向かって広がる
- 結果は葉から根に向かって集約しながら伝わる
- 実験結果
- ワードカウント
- 85bレコード 87Tb 270 field 3000 node
- MapReduce 行指向 3000s
- 列指向 1000s
- Dremel 10s 強
- 一部のノードでは時間がかかる
- MapReduce の補助に Dremel は使える
- 将来的に高速な推論、分類に利用可能
質疑応答とか
- 大規模だと今後は教師なし学習に未来があるのではないかと
『モバゲーの大規模データマイニング基盤におけるHadoop活用』
(株式会社ディー・エヌ・エー, 濱田 晃一)
『モバゲーの大規模データマイニング基盤におけるHadoop活用』−Hadoop Conference Japan 2011− #hcj2011
View more presentations from Koichi Hamada.
モバゲー
大規模データマイニング基盤構成
- KPI を定常的に算出
- 皆が数字を共有できるようにする
- こうできるように基盤構築
- ビジネスプラン作成の材料としてデータマイニング活用
- ユーザの「楽しさ」の特徴を機械学習で分析
- その結果をサービス側で見れるようにする
- Hadoop に全行動ログを決められた構造で投入
- Hadoop の上で全て解析が閉じる
- Pig
- 一次的な集計、簡易 KPI 算出
- Zebra
- スキーマ管理
- MapReduce/Perl/Java
- 時系列処理
- ゲームの分散シミュレーション
- R
- Mahout
- DeNA Data Mining Libraries
- 各種ソーシャル行動解析用データマイニングライブラリ
- Hadoop チューニング
楽しさのマイニング
大規模サービスで生じる問題
- サービスごとにLogFormatが異なる
- ログの場所がバラバラ
- 統一行動記述での解決
- 統一スキーマ
『Enterprise Batch Processing Framework for Hadoop』
(ウルシステムズ株式会社, 神林 飛志)
基幹バッチの特徴
- データの種類が多い
- 処理の組み合わせは単純
- 四則演算とかパターンマッチングとか
- データフローが複雑
- 設計の失敗がすごい大きい
Asakusa
DSL
- 3層の DSL
- BatchDSL
- FlowDSL
- ビルディングブロックを記述する言語
- OperatorDSL
- 処理の最小単位を記述する言語
- ビルディングブロックの構成による処理フローの記述
- トランザクション管理 - ロールバック制御
(以下ソースを元に解説)
テスト
- ModelGenerator からテストシートが自動生成される
- 普通に JUnit から実行可能
外部連携
- デフォルトは Sqoop で連携している
運用
- MonkeyMagic用rbを自動生成
まとめ
- 基幹バッチがほいほい書ける
- 誰でも書けるのでアイデア勝負
- なんと言っても「お金になる」
- 基幹系は億単位
- 使い方
- Hackerな人
- いじったりツール作ったり
- 業務屋
- プロトタイプを自分で作れる
- SI屋な人
- 大規模開発
- 工数の見積もりができる
- hadoopをコアで使える人が3人入れば通常と同等の工数で回せる
- Hackerな人
『Hiveを用いたAmebaサービスのログ解析共通基盤』
(株式会社サイバーエージェント, 福田 一郎)
Hadoop conferencejapan2011
View more presentations from Ichiro Fukuda
アメーバについて
Patriot
- Hadoop Conference japan 2009
- CDH, Hive などを知る
- 開発合宿
- 統合ログ解析基盤が必要という結論に至る
- 2010/3 本格検証開始
- 2010/7 リリース
- 今までの問題点
- サービスごとに独自に解析
- ログ容量の肥大化
- サービス開発担当者が解析部分にまで手が回らない
データストア
- 以下のような形式でパーティショニング
- login
- date=2011-02-22
- dev=pc (さらにこの下に複数の Bucket)
- dev=mb
- date=2011-02-22
- game
- 日付
- ゲームID
- 日付
Hiveの紹介
(省略)
Patriotの運用
- マスタ2台
- ノード18台
- Web/AP 2台
- CDH3b3
- Puppet, Nagios, Ganglia
- Web/AP
- ExtJS 3.2.1
- Hue 1.0.1
- ジョブ管理
- hinemos
- Namenode は NFS でバックアップ
- 圧縮は gzip, SequenceFile, ブロック単位
- 中間圧縮は lzo
- UDF
- 年齢によるグルーピング
- HiveQL クエリ
- デイリー 600
- マンスリー 700
- ログ容量
- Pigg 4.5GB
- タレントブログ関連 5.5GB
- 処理時間3-4時間
- デイリー、マンスリーサマリ
- グラフにして表示
- 属性レポート
- Hue
- Beeswax
- ここはjava
- HiveQLをWebUIから直接叩ける
- アドホックな集計
- ヒープサイズに注意(デフォルト1GB)
- Beeswax
- 啓蒙活動
- 集計サマリをいつでも確認できる
- Webアプリ上でHiveQLが叩ける
- プロデューサなどエンジニアでない人も HiveQL を書く
- 今後の展開
- ログ収集の改善
- Flumeなど
- レコメンドなど実験的にやっているものを本格化
- グラフ構造を使った解析
ライトニングトーク
Shunsuke Mikami: 「分散ファイルシステムGfarm上でのHadoop MapReduce」
Fujikawa Koichi: 「Sneak Preview of "Hapyrus" ~ Hadoopアプリ開発&共有サービス on the CLOUD」
Sadayuki Furuhashi: 「MySQLにMapReduceジョブトラッカを実装する」
- クラウド環境向けの新しい処理系
- 特徴
- SPOFがない
- 任意のMap/Reduceタスクを連鎖可能
- マルチユーザ対応
- Worker 以外はすべて既存のシステムを利用
- Hadoop JobTracker との違い
- pull型
- ストアドプロシージャで実装
- pull型
- Future work
- データの構造化と圧縮
- ログ収集
Yifeng Jiang: 「Hadoop and HBase for ranking processing at Rakuten」
- Ranking Proces Engine
- 8000 categories
- huge data
- realtime ranking
- Daily, weekly, monthly ranking
- yearly ranking
- Mutable data
- all of our data is mutable
- using Hadoop
- 100 job per day
- Ranking meets HBase
- Hadoop benefits
- process 40x rankings
- Hbase benefits
- 15k rows insert / s
- 0.3M rows scan / s
- Something we learned
- know the data
- balance
Takahiro Kaneko: 「Bonding とネットワークスループット」
『マルチユーザーでHadoop環境を利用するためのポイント』
(株式会社NTTデータ, 山下 真一)
Hadoop で起きたエピソード
- (1) ヒープメモリ枯渇
- 空ファイルや小さなファイルを置かないこと
- 見積もりは大切
- モニタリングする仕組みは重要
- (2) ライブラリ起因による処理の不具合
- MapReduce 実行時、出力ファイルの一部が消失
- Hadoop の投機的実行による同じ処理の多重実行が原因
- ライブラリ内で HDFS 上のファイル名を変更するロジックが、
投機的実行によって"重複実行→不整合"な状況となって発生
マルチユーザ環境
HDFS
MapReduce
今後の課題
- ChildプロセスのJVMオプション制御
- スケジューラ改良
- 占有資源と共有資源の制御
- 物理ディスク対策
- ユーザとグループ
『Hadoopと分析統計ソフトKNIMEを用いた効率的データ活用』
(株式会社リクルート, 中野 猛)
- Hadoop 環境
- DC移行で確保した余剰サーバ35台で検証環境
- 本番環境は新サーバ23台で構築中
- Hive + PostgreSQL
- HBase も利用準備中
- 取り組み
- メルマガ用リコメンド計算バッチ処理時間短縮
- 相場表型のクロス分析
- 取り組みの分類
- (1)既存の処理(バッチ)を高速化する
- ここは大分できた
- (2)今不可能とされていた処理を実現する
- (3)前提を考えて挑戦する
- (1)既存の処理(バッチ)を高速化する
- 人の話:視線を合わせる
- 分析屋さんとシステム屋さん
- 正義は微妙に異なる
- 物の話:道具を共通化する
- まず触ってみられるようにしたい
- 商用分析ツールはすごく高価