class Spark::Command::PartitionBy::Base
Public Instance Methods
lazy_run(iterator, *)
click to toggle source
# File lib/spark/command/basic.rb, line 155 def lazy_run(iterator, *) iterator.flat_map do |item| make_partition_item(item) end end
prepare()
click to toggle source
Calls superclass method
Spark::Command::Base#prepare
# File lib/spark/command/basic.rb, line 140 def prepare super # Default. Keep it after super because Sorting has own key_function. @key_function ||= lambda{|x| x[0]} end
run(iterator, *)
click to toggle source
# File lib/spark/command/basic.rb, line 147 def run(iterator, *) iterator.map! do |item| make_partition_item(item) end iterator.flatten!(1) iterator end
Private Instance Methods
make_partition_item(item)
click to toggle source
# File lib/spark/command/basic.rb, line 163 def make_partition_item(item) [ pack_long(@partition_func.call(@key_function[item])), item ] end