class Hasta::Runner
Runs a map/reduce job locally
Attributes
job_name[R]
mapper[R]
reducer[R]
Public Class Methods
new(job_name, mapper, reducer = nil)
click to toggle source
# File lib/hasta/runner.rb, line 11 def initialize(job_name, mapper, reducer = nil) @job_name = job_name @mapper = mapper @reducer = reducer end
Public Instance Methods
run(data_sources, data_sink, ruby_files = [], env = Hasta::Env.new)
click to toggle source
# File lib/hasta/runner.rb, line 17 def run(data_sources, data_sink, ruby_files = [], env = Hasta::Env.new) Hasta.logger.debug "Starting Job: #{job_name}" context = ExecutionContext.new(ruby_files, env.setup) if reducer reducer.reduce(context, mapper.map(context, data_sources).data_source, data_sink) else mapper.map(context, data_sources, data_sink) end end