Sha256: b570531c369b2029ac3f4c39820f4b5df685b549c91528131746d068b49832cc

Contents?: true

Size: 832 Bytes

Versions: 7

Compression:

Stored size: 832 Bytes

Contents

#!/usr/bin/env ruby
$LOAD_PATH.unshift File.expand_path('../../lib', File.dirname(__FILE__))
require          'wukong/script'
require_relative './logline'

# cat data/swk-100.tsv      | ./histograms.rb --map | sort > data/swk-hist-map.tsv
# cat data/swk-hist-map.tsv | ./histograms.rb --reduce     > data/swk-hist.tsv

class HistogramsMapper < Wukong::Streamer::ModelStreamer
  self.model_klass = Logline
  def process visit
    yield [visit.path, visit.day_hr]
  end
end

class HistogramsReducer < Wukong::Streamer::Reducer
  def get_key path, day_hr
    [path, day_hr]
  end
  def start!(*args)
    @count = 0
    super
  end
  def accumulate path, day_hr
    @count += 1
  end
  def finalize
    yield [key, @count]
  end
end

# Wukong.run( HistogramsMapper )
Wukong.run( HistogramsMapper, HistogramsReducer, :sort_fields => 3 )

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
ul-wukong-4.1.1 examples/server_logs/server_logs-02-histograms-full.rb
ul-wukong-4.1.0 examples/server_logs/server_logs-02-histograms-full.rb
wukong-4.0.0 examples/server_logs/server_logs-02-histograms-full.rb
wukong-3.0.1 examples/server_logs/server_logs-02-histograms-full.rb
wukong-3.0.0 examples/server_logs/server_logs-02-histograms-full.rb
wukong-3.0.0.pre3 examples/server_logs/server_logs-02-histograms-full.rb
wukong-3.0.0.pre2 examples/server_logs/server_logs-02-histograms-full.rb