Class: Skynet::ProfileCountTest
- Inherits:
-
Object
- Object
- Skynet::ProfileCountTest
- Defined in:
- lib/skynet/mapreduce_test.rb
Class Method Summary collapse
Class Method Details
.map(profiles) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/skynet/mapreduce_test.rb', line 37 def self.map(profiles) result = Array.new profiles.each do |profile| result << [profile.created_by, 1] if profile.created_by end result end |
.reduce(pairs) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/skynet/mapreduce_test.rb', line 45 def self.reduce(pairs) totals = Hash.new pairs.each do |pair| created_by, count = pair[0], pair[1] totals[created_by] ||= 0 totals[created_by] += count end totals end |
.run ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/skynet/mapreduce_test.rb', line 27 def self.run job = Skynet::Job.new( :mappers => 2, :reducers => 1, :map_reduce_class => self, :map_data => [OpenStruct.new({:created_by => 2}),OpenStruct.new({:created_by => 2}),OpenStruct.new({:created_by => 3})] ) results = job.run end |