lib/job.rb in trafficbroker-mandy-0.1.3 vs lib/job.rb in trafficbroker-mandy-0.1.5

- old
+ new

@@ -14,25 +14,33 @@ attr_reader :name def initialize(name, &blk) @name = name @settings = {} - @mapper_class = Mandy::Mapper - @reducer_class = Mandy::Reducer + @mapper_class = Mandy::Mappers::PassThroughMapper + @reducer_class = Mandy::Reducers::PassThroughReducer set('mapred.job.name', name) instance_eval(&blk) if blk end def set(key, value) @settings[key.to_s] = value.to_s end - def map(&blk) - @mapper_class = Mandy::Mapper.compile(&blk) + def map_tasks(count) + set('mapred.map.tasks', count) end - def reduce(&blk) - @reducer_class = Mandy::Reducer.compile(&blk) + def reduce_tasks(count) + set('mapred.reduce.tasks', count) + end + + def map(klass=nil, &blk) + @mapper_class = klass || Mandy::Mappers::Base.compile(&blk) + end + + def reduce(klass=nil, &blk) + @reducer_class = klass || Mandy::Reducers::Base.compile(&blk) end def run_map(input=STDIN, output=STDOUT, &blk) mapper = @mapper_class.new(input, output) yield(mapper) if blk \ No newline at end of file