summaryrefslogtreecommitdiff
path: root/dtrain/hstreaming/avg.rb
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2011-11-29 23:35:51 +0100
committerPatrick Simianer <p@simianer.de>2011-11-29 23:35:51 +0100
commit89cf0569972b2eaf891a5d6d87b530aa52973d11 (patch)
treed237e58d8205da99013ed9964d34a2e34e3e1ece /dtrain/hstreaming/avg.rb
parentaf6c83df01d105a32c7b2ac346a4225e28dd6dfc (diff)
avg.rb lplp.rb
Diffstat (limited to 'dtrain/hstreaming/avg.rb')
-rwxr-xr-xdtrain/hstreaming/avg.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/dtrain/hstreaming/avg.rb b/dtrain/hstreaming/avg.rb
new file mode 100755
index 00000000..e0899144
--- /dev/null
+++ b/dtrain/hstreaming/avg.rb
@@ -0,0 +1,31 @@
+# avg.rb
+
+shard_count_key = "__SHARD_COUNT__"
+
+STDIN.set_encoding 'utf-8'
+STDOUT.set_encoding 'utf-8'
+
+w = {}
+c = {}
+w.default = 0
+c.default = 0
+while line = STDIN.gets
+ key, val = line.split /\s/
+ w[key] += val.to_f
+ c[key] += 1
+end
+
+if ARGV.size == 0
+ shard_count = w["__SHARD_COUNT__"]
+else
+ shard_count = ARGV[0].to_f
+end
+w.each_key { |k|
+ if k == shard_count_key
+ puts "# shard count: #{shard_count.to_i}"
+ else
+ puts "#{k}\t#{w[k]/shard_count}"
+ puts "# #{c[k]}"
+ end
+}
+