第16回オープンソーステクノロジー勉強会に参加してきました
そんなわけで、MapReduceについての話が聞けるとのことだったので、GREEで開催された第16回オープンソーステクノロジー勉強会に参加してきました。
いつもの通り、聞きながら書いてたものをそのままでメモのようなものですが、レポート。
「Hadoopの概要と最新の動向」 (株式会社プリファードインフラストラクチャー 太田 一樹さん)
自己紹介
- http://kzk9.net/
- 分散全文検索エンジンSedueの開発
- 半分は酒でできている
- GREE上場おめでとうございます!!88888
Hadoop概要
- Hadoopとは
MapReduceについて
- インターネットの普及→大量のデータ→お金で解決?
- お金で解決できないこと→プロセスの監視/起動/間通信
- 既存の分散並列プログラミング・MPIの問題
- 耐障害性がない
- →プログラマが「Map」「Reduce」の関数を書くだけでデバッグからプロセス間通信までできるように
- keyとvalueが入力
- 例:ワードカウント
- この例はわかりやすいー
- MapReduce型の処理の例
- で、Hadoop
- HDFS
- Master/Slave
- JobTracker(会社でいえば、社長さん)
- TaskTracker(JobTrackerにアサインされたTaskを実行)
- HDFS
- Hadoop Streaming
- いろんなプログラミング言語で標準入出力を使ってMap/Reduceを記述できる
- 国外の事例
- Yahoo
- 〜2000ノード
- Amazon, Facebook
- 400ノードくらい
- ログ処理・データ解析
- Yahoo
- 国内
質疑応答
「HadoopとEC2による、『安くて簡単』大規模データ処理」(blogeye開発者 大倉 務さん)
自己紹介
- http://ohkura.com/
- blogeye
- 「Amazon の色々なサービスについてポジティブな話ばかりりますが営業ではありません」w
blogeye
- 日々日本中のブログを収集:データ解析
- http://blogeye.jp/
- 院生でデータマイニングなどの研究をしていた→実践してみた→公開してみた
- 記事は2億記事くらい+60万/day
- テキストデータで200G〜300G
- データはたくさん、学生だからお金はない
→Hadoop×EC2で金をかけずに。
- EC2/S3で導入コストを0に
- EC2からS3のストレージの読み書きは無料。
- Hadoopは動的にノードを追加・削除
- 1時間単位で利用できるEC2と相性バツグン。一時的にクラスタが必要になったときに、借りたい。
- HadoopからS3の読み書きをするライブラリが充実
blogeyeでの利用
- データストアはS3
- クロールにHadoop・分散。著者属性推定などの大きなジョブに利用。
- 普段は4台で運用
クロール
- マスタではやらない(接続先のレスポンスがわるくんじゃったりデータが巨大だったり)
- データ管理:とりあえずMySQL
インデックス
- MySQL+Senna。
著者属性推定ジョブ
- 扱うデータはサイトごと
- MapReduce
- Map:サイトをキーにして出力
- Reduce:入力(単語、URL)、記事から著者属性の推定
- 80台×2日で300GBくらいのテキスト処理
- Amazonのレンタル費用としては4万くらい
複数ジョブを実行している際のTIPS
- MapperとReducerを同時に動かさない(デフォルトでは同時に確保されるとか)
質疑
- 単語の頻度などの分類?
- 一度機械学習ですでに学習したデータをReducerに投げている
- 論文でてるのでよんでおk
まとめ
おもしろいなあー。*1
Amazonは、(企業からすれば)安いとはいえ、個人で使うには高いから(まぁそれほどの規模を処理することがあるか、って問題もありますが。)、何かのときの参考として覚えておこう・・。
ともあれ、標準入出力でMapReduce使えるってのは面白そうだなー。
非常に勉強になる勉強会でした。
あ、関連論文はCiNiiで見つけたけど本文が見れませんでした。学校からアクセスしてみるかな・・・。
*1:前期のITSPのときになんでこういう話でてこなかったんだろう。w