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