読者です 読者をやめる 読者になる 読者になる

肉とビールとパンケーキ by @sotarok

少し大人になった「肉とご飯と甘いもの」

第16回オープンソーステクノロジー勉強会に参加してきました

そんなわけで、MapReduceについての話が聞けるとのことだったので、GREEで開催された第16回オープンソーステクノロジー勉強会に参加してきました。

いつもの通り、聞きながら書いてたものをそのままでメモのようなものですが、レポート。

Hadoopの概要と最新の動向」 (株式会社プリファードインフラストラクチャー 太田 一樹さん)


自己紹介

Hadoop概要

  • Hadoopとは
    • Google の基盤ソフトウェアのクローン
    • Yahoo ResearchのDoug Cutting氏が論文からまるパクりしたw
    • 「ロゴがかわいくないですね」ww
    • Javaでできている

MapReduceについて

  • インターネットの普及→大量のデータ→お金で解決?
    • お金で解決できないこと→プロセスの監視/起動/間通信
    • 既存の分散並列プログラミング・MPIの問題
      • 耐障害性がない
  • プログラマが「Map」「Reduce」の関数を書くだけでデバッグからプロセス間通信までできるように
  • keyとvalueが入力
  • 例:ワードカウント
    • この例はわかりやすいー
  • MapReduce型の処理の例
  • で、Hadoop
    • HDFS
      • Master/Slave
      • JobTracker(会社でいえば、社長さん)
      • TaskTracker(JobTrackerにアサインされたTaskを実行)
  • Hadoop Streaming
  • 国外の事例
    • Yahoo
      • 〜2000ノード
    • Amazon, Facebook
      • 400ノードくらい
      • ログ処理・データ解析
  • 国内

質疑応答

  • どんだけのサイズからオススメ?
    • 10GBとか数十GBとか
  • どのくらいの頻度でリフレッシュされるデータに使うと効果的か
    • 数時間に1回DBからダンプしてきて読むとか
  • 1台で組めるような規模のものをHadoopにしたときに、どういう速度差になるか
    • 単体で書いたほうが早い。100kbくらいのテキスト処理でも1分くらいかかる。
  • ということは、どのくらいから効果的になるか?
    • 10秒〜20秒くらいに起動とかのオーバーヘッドがあるので、それを乗り越えるくらいのデータ「量」。クラスタ数は関係ない。

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

インデックス

著者属性推定ジョブ

  • 扱うデータはサイトごと
  • MapReduce
    • Map:サイトをキーにして出力
    • Reduce:入力(単語、URL)、記事から著者属性の推定
  • 80台×2日で300GBくらいのテキスト処理
    • Amazonのレンタル費用としては4万くらい

複数ジョブを実行している際のTIPS

  • MapperとReducerを同時に動かさない(デフォルトでは同時に確保されるとか)

質疑

  • 単語の頻度などの分類?
    • 一度機械学習ですでに学習したデータをReducerに投げている
    • 論文でてるのでよんでおk

まとめ

おもしろいなあー。*1
Amazonは、(企業からすれば)安いとはいえ、個人で使うには高いから(まぁそれほどの規模を処理することがあるか、って問題もありますが。)、何かのときの参考として覚えておこう・・。

ともあれ、標準入出力でMapReduce使えるってのは面白そうだなー。
非常に勉強になる勉強会でした。


あ、関連論文はCiNiiで見つけたけど本文が見れませんでした。学校からアクセスしてみるかな・・・。

あ、

オープンソーステクノロジー勉強会のコミュがGREEにあるから参加してね!とのことでしたw

  • 「この勉強会の情報を携帯からチェックできる唯一の媒体ですよ!」(by いちいさん)

*1:前期のITSPのときになんでこういう話でてこなかったんだろう。w