jruby_hive 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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: {}
|