Class: Hasta::Reducer

Inherits:
Object
  • Object
show all
Defined in:
lib/hasta/reducer.rb

Overview

A wrapper for instantiating a reducer from a definition file and invoking it

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(reducer_file) ⇒ Reducer

Returns a new instance of Reducer.



12
13
14
# File 'lib/hasta/reducer.rb', line 12

def initialize(reducer_file)
  @reducer_file = reducer_file
end

Instance Attribute Details

#reducer_fileObject (readonly)

Returns the value of attribute reducer_file.



10
11
12
# File 'lib/hasta/reducer.rb', line 10

def reducer_file
  @reducer_file
end

Instance Method Details

#reduce(execution_context, data_source, data_sink = InMemoryDataSink.new("Reducer Output")) ⇒ Object



16
17
18
19
20
21
# File 'lib/hasta/reducer.rb', line 16

def reduce(execution_context, data_source, data_sink = InMemoryDataSink.new("Reducer Output"))
  Hasta.logger.debug "Starting reducer: #{reducer_file}"
  execution_context.execute(reducer_file, sorted_data_source(data_source), data_sink)

  data_sink.close
end