class Spark::Command::CombineByKey::Combine


Public Instance Methods

_run(iterator) click to toggle source
# File lib/spark/command/pair.rb, line 26
def _run(iterator)
  # Not use combiners[key] ||= ..
  # it tests nil and not has_key?
  combiners = {}
  iterator.each do |key, value|
    if combiners.has_key?(key)
      combiners[key] = @merge_value.call(combiners[key], value)
    else
      combiners[key] = @create_combiner.call(value)
    end
  end
  combiners
end