jruby_hive 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +6 -0
- data/jruby_hive.gemspec +3 -2
- data/lib/jruby_hive.rb +17 -26
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e6054c6faf5462d63e5b9f20f93440b0f786039
|
4
|
+
data.tar.gz: 2fec05149e6eb01d969d7254ad3ab27a0637819d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16dc4ca2f8271bafe1d94629505575fba3451d2060f5446521dacc7b8e78ca4b01da3ad42e7e81bf2af124f810b84988f83fa19464676a32be2afef670b206de
|
7
|
+
data.tar.gz: fc8dcafab592d79b0003fd12d1d35efe5d3326c822593e4922b3bc7eef1e19940703f4f733ec393c3c719c5b7944560409afc5d7a6e3cad985990cf4eb24ce0c
|
data/README.md
CHANGED
data/jruby_hive.gemspec
CHANGED
@@ -4,12 +4,12 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "jruby_hive"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.2"
|
8
8
|
spec.authors = ["Shinji Ikeda"]
|
9
9
|
spec.email = ["gm.ikeda@gmail.com"]
|
10
10
|
spec.summary = %q{jruby hive api}
|
11
11
|
spec.description = %q{}
|
12
|
-
spec.homepage = ""
|
12
|
+
spec.homepage = "https://github.com/shinjiikeda/jruby_hive"
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
@@ -19,4 +19,5 @@ Gem::Specification.new do |spec|
|
|
19
19
|
|
20
20
|
spec.add_development_dependency "bundler", "~> 1.6"
|
21
21
|
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency "hdfs_jruby"
|
22
23
|
end
|
data/lib/jruby_hive.rb
CHANGED
@@ -1,53 +1,42 @@
|
|
1
1
|
# encoding utf-8
|
2
2
|
|
3
|
-
|
3
|
+
require 'java'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
@JAR_PATTERN_0_20="hadoop-core-*.jar"
|
5
|
+
class HiveError < RuntimeError
|
6
|
+
end
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
raise "hadoop_home is not set!"
|
14
|
-
end
|
8
|
+
class Hive
|
9
|
+
|
10
|
+
def self.bootstrap
|
15
11
|
|
16
12
|
if ENV['HIVE_HOME']
|
17
13
|
hive_home=ENV['HIVE_HOME']
|
18
14
|
else
|
19
|
-
raise "HIVE_HOME is not set!"
|
15
|
+
raise HiveError, "HIVE_HOME is not set!"
|
20
16
|
end
|
21
|
-
|
17
|
+
hadoop_home=ENV['HADOOP_HOME']
|
22
18
|
Dir[
|
23
|
-
"#{hadoop_home}/#{@JAR_PATTERN_0_20}",
|
24
|
-
"#{hadoop_home}/lib/*.jar",
|
25
|
-
"#{hadoop_home}/share/hadoop/common/*.jar",
|
26
|
-
"#{hadoop_home}/share/hadoop/common/lib/*.jar",
|
27
|
-
"#{hadoop_home}/share/hadoop/hdfs/*.jar",
|
28
|
-
"#{hadoop_home}/share/hadoop/hdfs/lib/*.jar",
|
29
19
|
"#{hadoop_home}/share/hadoop/mapreduce/*.jar",
|
30
20
|
"#{hadoop_home}/share/hadoop/mapreduce/lib/*.jar",
|
31
21
|
"#{hive_home}/lib/*.jar"
|
32
|
-
|
22
|
+
].each do |jar|
|
33
23
|
require jar
|
34
24
|
end
|
35
|
-
|
36
|
-
$CLASSPATH << "#{hadoop_home}/conf"
|
25
|
+
|
37
26
|
$CLASSPATH << "#{hive_home}/conf"
|
38
|
-
|
27
|
+
require 'hdfs_jruby'
|
28
|
+
|
39
29
|
java_import 'java.util.ArrayList'
|
40
30
|
java_import 'org.apache.hadoop.hive.conf.HiveConf'
|
41
|
-
#java_import 'org.apache.hadoop.hive.conf.HiveConf.ConfVars'
|
31
|
+
#java_import 'org.apache.hadoop.hive.conf.HiveConf.ConfVars'
|
42
32
|
java_import 'org.apache.hadoop.hive.ql.Driver'
|
43
33
|
java_import 'org.apache.hadoop.hive.ql.processors.CommandProcessorResponse'
|
44
34
|
java_import 'org.apache.hadoop.hive.cli.CliSessionState'
|
45
35
|
java_import 'org.apache.hadoop.hive.ql.session.SessionState'
|
36
|
+
|
46
37
|
end
|
47
38
|
|
48
39
|
def initialize
|
49
|
-
self.bootstrap
|
50
|
-
|
51
40
|
@hconf = HiveConf.new
|
52
41
|
|
53
42
|
@driver = Driver.new(@hconf)
|
@@ -57,7 +46,7 @@ class Hive
|
|
57
46
|
def run(cmd)
|
58
47
|
r = @driver.run(cmd)
|
59
48
|
if r.getResponseCode != 0
|
60
|
-
raise "hive error: " << r.getErrorMessage
|
49
|
+
raise HiveError, "hive error: " << r.getErrorMessage
|
61
50
|
end
|
62
51
|
|
63
52
|
list = ArrayList.new
|
@@ -68,3 +57,5 @@ class Hive
|
|
68
57
|
end
|
69
58
|
|
70
59
|
end
|
60
|
+
|
61
|
+
Hive.bootstrap
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jruby_hive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shinji Ikeda
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
version: '0'
|
39
39
|
prerelease: false
|
40
40
|
type: :development
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: hdfs_jruby
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
prerelease: false
|
54
|
+
type: :development
|
41
55
|
description: ''
|
42
56
|
email:
|
43
57
|
- gm.ikeda@gmail.com
|
@@ -51,7 +65,7 @@ files:
|
|
51
65
|
- Rakefile
|
52
66
|
- jruby_hive.gemspec
|
53
67
|
- lib/jruby_hive.rb
|
54
|
-
homepage:
|
68
|
+
homepage: https://github.com/shinjiikeda/jruby_hive
|
55
69
|
licenses:
|
56
70
|
- MIT
|
57
71
|
metadata: {}
|