Top Level Namespace
Defined Under Namespace
Modules: JRubyOnHadoop
Classes: OutputWrapper
Instance Method Summary
collapse
-
#to_java(value) ⇒ Object
-
#to_ruby(value) ⇒ Object
-
#wrap_map(key, value, output, reporter, script, dslfile) ⇒ Object
-
#wrap_reduce(key, values, output, reporter, script, dslfile) ⇒ Object
-
#wrap_setup(conf, script, dslfile) ⇒ Object
Instance Method Details
#to_java(value) ⇒ Object
52
53
54
55
56
57
58
59
|
# File 'lib/ruby_wrapper.rb', line 52
def to_java(value)
case value
when Integer then IntWritable.new(value)
when String then t = Text.new; t.set(value); t
when Array then value.to_java
else raise "no match class: #{value.class}"
end
end
|
#to_ruby(value) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/ruby_wrapper.rb', line 39
def to_ruby(value)
case value
when IntWritable, LongWritable then value.get
when Text then value.to_string
else
if value.respond_to? :map
value.map {|v| to_ruby(v)}
else value end
end
end
|
#wrap_map(key, value, output, reporter, script, dslfile) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/ruby_wrapper.rb', line 13
def wrap_map(key, value, output, reporter, script, dslfile)
require script
output_wrapper = OutputWrapper.new(output)
dslfile ?
map(to_ruby(key), to_ruby(value), output_wrapper, reporter, dslfile) :
map(to_ruby(key), to_ruby(value), output_wrapper, reporter)
end
|
#wrap_reduce(key, values, output, reporter, script, dslfile) ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/ruby_wrapper.rb', line 21
def wrap_reduce(key, values, output, reporter, script, dslfile)
require script
output_wrapper = OutputWrapper.new(output)
dslfile ?
reduce(to_ruby(key), to_ruby(values), output_wrapper, reporter, dslfile) :
reduce(to_ruby(key), to_ruby(values), output_wrapper, reporter)
end
|
#wrap_setup(conf, script, dslfile) ⇒ Object
7
8
9
10
11
|
# File 'lib/ruby_wrapper.rb', line 7
def wrap_setup(conf, script, dslfile)
require script
paths = dslfile ? setup(conf, dslfile) : setup(conf)
paths.to_java if paths
end
|