sishen-hbase-ruby 0.2 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.txt +8 -0
- data/hbase-ruby.gemspec +1 -2
- data/lib/hbase/operation/row_operation.rb +16 -8
- data/lib/hbase/request/row_request.rb +4 -2
- metadata +2 -2
data/README.txt
CHANGED
@@ -25,6 +25,14 @@ row2 = client.create_row('users', 'sishen', Time.now.to_i, {:name => 'habbit:foo
|
|
25
25
|
client.delete_row('users', 'sishen', nil, 'habbit:football') # delete the row 'sishen' of table 'users' with the optional column 'habbit:football'
|
26
26
|
}}}
|
27
27
|
|
28
|
+
3. rails config
|
29
|
+
|
30
|
+
For those who wants to use hbase in their rails application, can add this line to the environment.rb
|
31
|
+
|
32
|
+
{{{
|
33
|
+
config.gem 'sishen-hbase-ruby', :lib => "hbase", :source => "http://gems.github.com"
|
34
|
+
}}}
|
35
|
+
|
28
36
|
|
29
37
|
== INSTALLTION
|
30
38
|
build the gem:
|
data/hbase-ruby.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = %q{hbase-ruby}
|
3
|
-
s.version = "0.2"
|
3
|
+
s.version = "0.2.1"
|
4
4
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
6
|
s.authors = ["Ye Dingding"]
|
@@ -13,7 +13,6 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.homepage = %q{http://sishen.lifegoo.com}
|
14
14
|
s.rdoc_options = ["--main", "README.txt"]
|
15
15
|
s.require_paths = ["lib"]
|
16
|
-
s.rubyforge_project = %q{hbase-ruby}
|
17
16
|
s.rubygems_version = %q{1.2.0}
|
18
17
|
s.summary = %q{a pure ruby client for hbase using REST interface}
|
19
18
|
|
@@ -14,15 +14,23 @@ module HBase
|
|
14
14
|
row
|
15
15
|
end
|
16
16
|
|
17
|
-
def create_row(table_name, name, timestamp = nil,
|
17
|
+
def create_row(table_name, name, timestamp = nil, *args)
|
18
18
|
request = Request::RowRequest.new(table_name, name, timestamp)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
data = []
|
20
|
+
if args.instance_of? Array
|
21
|
+
data = args
|
22
|
+
elsif args.instance_of? Hash
|
23
|
+
data = [args]
|
24
|
+
else
|
25
|
+
raise StandardError, "Only Array or Hash data accepted"
|
26
|
+
end
|
27
|
+
xml_data ="<?xml version='1.0' encoding='UTF-8'?><columns>"
|
28
|
+
data.each do |d|
|
29
|
+
xml_data << "<column><name>#{d[:name]}</name>"
|
30
|
+
xml_data << "<value>#{[d[:value]].pack("m") rescue ''}</value></column>"
|
31
|
+
end
|
32
|
+
xml_data << "</columns>"
|
33
|
+
|
26
34
|
Response::RowResponse.new(post(request.create, xml_data))
|
27
35
|
end
|
28
36
|
|
@@ -18,7 +18,8 @@ module HBase
|
|
18
18
|
columns = [columns]
|
19
19
|
elsif columns.is_a? Array
|
20
20
|
end
|
21
|
-
|
21
|
+
params = columns.collect { |column| "column=#{column}" }.join('&')
|
22
|
+
@path << "?#{params}"
|
22
23
|
end
|
23
24
|
@path
|
24
25
|
end
|
@@ -33,7 +34,8 @@ module HBase
|
|
33
34
|
columns = [columns]
|
34
35
|
elsif columns.is_a? Array
|
35
36
|
end
|
36
|
-
|
37
|
+
params = columns.collect { |column| "column=#{column}" }.join('&')
|
38
|
+
@path << "?#{params}"
|
37
39
|
end
|
38
40
|
@path
|
39
41
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sishen-hbase-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ye Dingding
|
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version:
|
85
85
|
requirements: []
|
86
86
|
|
87
|
-
rubyforge_project:
|
87
|
+
rubyforge_project:
|
88
88
|
rubygems_version: 1.2.0
|
89
89
|
signing_key:
|
90
90
|
specification_version: 2
|