Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL

Lightening Talk for my project of Hadoop Ruby DSL.

  • Be the first to comment

Hadoop Conf Japan 2009 After Party LT - Hadoop Ruby DSL

  1. 1. (Hadoop + Ruby DSL) x Hudson = ? 藤川幸一 2009上期未踏本体クリエイター 株式会社シリウステクノロジーズ
  2. 2. 未踏でHadoopやってます
  3. 3. Hadoop は敷居が高い?(と思う人には 高い・・・) そういう人は・・ 1. Mapper とか Reducer とか、何? どう やって書けばいいの? 2. Java で書くの? いろいろ制約があって 難しそう・・・ 3. 実行環境準備するだけで大変そう
  4. 4. そういう人にこそ・・
  5. 5. Ruby で Mapper / Reducer ※でも Hadoop Streaming は使わないよ JRubyを使う Mapper / Reducer からRuby呼び出し 呼び出されたRubyにMRが書ける def map(key, value, output, reporter) # Mapper code end def reduce(key, values, output, reporter) # Reducer code end
  6. 6. さらに MR も意識せずに~DSL ある特定の分野(ログ分析とか)だと、Mapper / Reducerに分解 する部分がわりと明確 最初から分解してその指示をメタな言語(DSL)にすれば MapReduceを意識せずHadoopで処理ができる? use 'LogAnalysis' data 'apache log on test1' do from 'apachlog/inputs' to 'apachlog/outputs' each_line do pattern /(.*) (.*) (.*) [(.*)] (".*") (d*) (d*)/ column_name 'remote_host', 'pass', 'user', 'access_date', 'request', 'status', 'bytes' topic 'which users?', :label => 'user' do count_uniq column[:user] end topic 'access date by monthly' do select_date column[:access_date], BY_MONTHLY count column[:access_date] end ・・・
  7. 7. Hudsonで実行分散環境を簡単に準備 HudsonはOSS分散ビルドツール→タスク分散が得意 メインコミッターのkohsuke(Sunの川口耕介さん)がHudsonのプラグイン としてHadoopを使えるように→簡単にHadoopインストール Hudsonのスレーブを増やすとHadoopのノードとして使える
  8. 8. まだまだプロジェクトはこれからです! 興味がある方はご一報を! ありがとうございました。 Twitter: @fujibee

×