Class: Hive
- Inherits:
-
Object
- Object
- Hive
- Defined in:
- lib/jruby_hive.rb
Overview
encoding utf-8
Instance Method Summary collapse
- #bootstrap ⇒ Object
-
#initialize ⇒ Hive
constructor
A new instance of Hive.
- #run(cmd) ⇒ Object
Constructor Details
#initialize ⇒ Hive
Returns a new instance of Hive.
48 49 50 51 52 53 54 55 |
# File 'lib/jruby_hive.rb', line 48 def initialize self.bootstrap @hconf = HiveConf.new @driver = Driver.new(@hconf) SessionState.start(CliSessionState.new(@hconf)) end |
Instance Method Details
#bootstrap ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/jruby_hive.rb', line 5 def bootstrap require 'java' @JAR_PATTERN_0_20="hadoop-core-*.jar" if ENV["HADOOP_HOME"] hadoop_home=ENV["HADOOP_HOME"] else raise "hadoop_home is not set!" end if ENV['HIVE_HOME'] hive_home=ENV['HIVE_HOME'] else raise "HIVE_HOME is not set!" end Dir[ "#{hadoop_home}/#{@JAR_PATTERN_0_20}", "#{hadoop_home}/lib/*.jar", "#{hadoop_home}/share/hadoop/common/*.jar", "#{hadoop_home}/share/hadoop/common/lib/*.jar", "#{hadoop_home}/share/hadoop/hdfs/*.jar", "#{hadoop_home}/share/hadoop/hdfs/lib/*.jar", "#{hadoop_home}/share/hadoop/mapreduce/*.jar", "#{hadoop_home}/share/hadoop/mapreduce/lib/*.jar", "#{hive_home}/lib/*.jar" ].each do |jar| require jar end $CLASSPATH << "#{hadoop_home}/conf" $CLASSPATH << "#{hive_home}/conf" java_import 'java.util.ArrayList' java_import 'org.apache.hadoop.hive.conf.HiveConf' #java_import 'org.apache.hadoop.hive.conf.HiveConf.ConfVars' java_import 'org.apache.hadoop.hive.ql.Driver' java_import 'org.apache.hadoop.hive.ql.processors.CommandProcessorResponse' java_import 'org.apache.hadoop.hive.cli.CliSessionState' java_import 'org.apache.hadoop.hive.ql.session.SessionState' end |
#run(cmd) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/jruby_hive.rb', line 57 def run(cmd) r = @driver.run(cmd) if r.getResponseCode != 0 raise "hive error: " << r.getErrorMessage end list = ArrayList.new if @driver.getResults(list) return list.to_ary end return nil end |