sequel-jdbc-hive2-adapter 0.0.1
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 +7 -0
- data/.gitignore +2 -0
- data/.ruby-version +1 -0
- data/Gemfile +3 -0
- data/README.md +4 -0
- data/Rakefile +6 -0
- data/lib/sequel-jdbc-hive2-adapter.rb +12 -0
- data/lib/sequel-jdbc-hive2-adapter/version.rb +9 -0
- data/lib/sequel/adapters/jdbc/hive2.rb +11 -0
- data/lib/sequel/jdbc_hive2_adapter.rb +29 -0
- data/sequel-jdbc-hive2-adapter.gemspec +22 -0
- data/spec/cb_clean.csv +10 -0
- data/spec/database.template.yml +7 -0
- data/spec/jdbc_hive2_adapter_spec.rb +21 -0
- data/spec/schema.sql +2 -0
- data/spec/spec_helper.rb +45 -0
- metadata +119 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1fa83dab077f1190d708a412b83b2f6e08cec8d6
|
4
|
+
data.tar.gz: 8cf8c718583586cc214f4d31e72f57a3c207798b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1738dc25532f26927556aa78fe357a0d182ec621241ae2dd41830ba24ddfcedae8269d77ddc1faebc88b8912f0ffa3efc4de366dfbe46344b1e886a0839dfdb6
|
7
|
+
data.tar.gz: 8c0afdd6fb59a037f6b66d441a7adbdd78fbe43dbafa7c5334d81333eccbc339ec58afc5721173e032dafdb91fd2eb76e6405c0ac2f4556374ef9c33d77e7664
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
jruby-1.7.9
|
data/Gemfile
ADDED
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'sequel'
|
3
|
+
require 'sequel/adapters/jdbc'
|
4
|
+
|
5
|
+
Sequel::JDBC::DATABASE_SETUP[:hive] = proc do |db|
|
6
|
+
require 'jdbc/hive2'
|
7
|
+
Jdbc::Hive2.load_driver
|
8
|
+
|
9
|
+
org.apache.hadoop.hive.jdbc.HiveDriver
|
10
|
+
|
11
|
+
require 'sequel/adapters/jdbc/hive2'
|
12
|
+
# db.extend(Sequel::JDBC::Postgres::DatabaseMethods)
|
13
|
+
# db.dataset_class = Sequel::JDBC::Postgres::Dataset
|
14
|
+
|
15
|
+
org.apache.hadoop.hive.jdbc.HiveDriver
|
16
|
+
end
|
17
|
+
|
18
|
+
Sequel::JDBC::DATABASE_SETUP[:hive2] = proc do |db|
|
19
|
+
require 'jdbc/hive2'
|
20
|
+
Jdbc::Hive2.load_driver
|
21
|
+
|
22
|
+
org.apache.hive.jdbc.HiveDriver
|
23
|
+
|
24
|
+
require 'sequel/adapters/jdbc/hive2'
|
25
|
+
# db.extend(Sequel::JDBC::Postgres::DatabaseMethods)
|
26
|
+
# db.dataset_class = Sequel::JDBC::Postgres::Dataset
|
27
|
+
|
28
|
+
org.apache.hive.jdbc.HiveDriver
|
29
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'sequel-jdbc-hive2-adapter'
|
3
|
+
s.version = '0.0.1'
|
4
|
+
s.authors = ['Josh Ferguson']
|
5
|
+
s.email = %w(josh@modeanalytics.com)
|
6
|
+
s.homepage = 'https://github.com/mode/sequel-hive2-adapter'
|
7
|
+
s.summary = %q{Sequel adapter for Hive/Impala}
|
8
|
+
s.description = %q{Use this adapter to use sequel to query Hive and Impala clusters}
|
9
|
+
|
10
|
+
s.rubyforge_project = 'sequel-jdbc-hive2-adapter'
|
11
|
+
|
12
|
+
s.files = `git ls-files`.split("\n")
|
13
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
14
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
15
|
+
s.require_paths = %w(lib)
|
16
|
+
|
17
|
+
s.add_runtime_dependency 'jdbc-hive2'
|
18
|
+
|
19
|
+
s.add_development_dependency 'rake'
|
20
|
+
s.add_development_dependency 'rspec'
|
21
|
+
s.add_development_dependency 'sequel'
|
22
|
+
end
|
data/spec/cb_clean.csv
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Sequel::JDBC::Hive2' do
|
4
|
+
let(:conn) { Sequel.connect(HiveConfig.connection_url) }
|
5
|
+
|
6
|
+
it 'should show tables' do
|
7
|
+
tables = []
|
8
|
+
conn.dataset.fetch_rows("SHOW TABLES") do |row|
|
9
|
+
tables << row[:tab_name]
|
10
|
+
end
|
11
|
+
tables.length.should be > 0
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should select rows from a table' do
|
15
|
+
rows = []
|
16
|
+
conn.dataset.fetch_rows("SELECT * FROM cb_clean LIMIT 100") do |row|
|
17
|
+
rows << row
|
18
|
+
end
|
19
|
+
rows.length.should be > 0
|
20
|
+
end
|
21
|
+
end
|
data/spec/schema.sql
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'sequel'
|
3
|
+
require 'sequel/jdbc_hive2_adapter'
|
4
|
+
|
5
|
+
class HiveConfig
|
6
|
+
class << self
|
7
|
+
def adapter
|
8
|
+
config['adapter']
|
9
|
+
end
|
10
|
+
|
11
|
+
def host
|
12
|
+
config['host']
|
13
|
+
end
|
14
|
+
|
15
|
+
def port
|
16
|
+
config['port']
|
17
|
+
end
|
18
|
+
|
19
|
+
def database
|
20
|
+
config['database']
|
21
|
+
end
|
22
|
+
|
23
|
+
def username
|
24
|
+
config['username']
|
25
|
+
end
|
26
|
+
|
27
|
+
def password
|
28
|
+
config['password']
|
29
|
+
end
|
30
|
+
|
31
|
+
def ssl
|
32
|
+
config['ssl'] == true ? true : false
|
33
|
+
end
|
34
|
+
|
35
|
+
def connection_url
|
36
|
+
"#{adapter}://#{host}:#{port}/#{database};user=#{username};password=#{password};ssl=#{ssl}"
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def config
|
42
|
+
@config ||= YAML.load_file(File.join(File.dirname(__FILE__), 'database.yml'))
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sequel-jdbc-hive2-adapter
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Josh Ferguson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-04-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jdbc-hive2
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - '>='
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '0'
|
25
|
+
prerelease: false
|
26
|
+
type: :runtime
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
prerelease: false
|
40
|
+
type: :development
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
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
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: sequel
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
prerelease: false
|
68
|
+
type: :development
|
69
|
+
description: Use this adapter to use sequel to query Hive and Impala clusters
|
70
|
+
email:
|
71
|
+
- josh@modeanalytics.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- .ruby-version
|
78
|
+
- Gemfile
|
79
|
+
- README.md
|
80
|
+
- Rakefile
|
81
|
+
- lib/sequel-jdbc-hive2-adapter.rb
|
82
|
+
- lib/sequel-jdbc-hive2-adapter/version.rb
|
83
|
+
- lib/sequel/adapters/jdbc/hive2.rb
|
84
|
+
- lib/sequel/jdbc_hive2_adapter.rb
|
85
|
+
- sequel-jdbc-hive2-adapter.gemspec
|
86
|
+
- spec/cb_clean.csv
|
87
|
+
- spec/database.template.yml
|
88
|
+
- spec/jdbc_hive2_adapter_spec.rb
|
89
|
+
- spec/schema.sql
|
90
|
+
- spec/spec_helper.rb
|
91
|
+
homepage: https://github.com/mode/sequel-hive2-adapter
|
92
|
+
licenses: []
|
93
|
+
metadata: {}
|
94
|
+
post_install_message:
|
95
|
+
rdoc_options: []
|
96
|
+
require_paths:
|
97
|
+
- lib
|
98
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - '>='
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
108
|
+
requirements: []
|
109
|
+
rubyforge_project: sequel-jdbc-hive2-adapter
|
110
|
+
rubygems_version: 2.1.9
|
111
|
+
signing_key:
|
112
|
+
specification_version: 4
|
113
|
+
summary: Sequel adapter for Hive/Impala
|
114
|
+
test_files:
|
115
|
+
- spec/cb_clean.csv
|
116
|
+
- spec/database.template.yml
|
117
|
+
- spec/jdbc_hive2_adapter_spec.rb
|
118
|
+
- spec/schema.sql
|
119
|
+
- spec/spec_helper.rb
|