ok_hbase 0.0.5 → 0.0.6
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.
- data/README.md +42 -17
- data/lib/ok_hbase/concerns/custom_row.rb +1 -1
- data/lib/ok_hbase/concerns/table.rb +1 -1
- data/lib/ok_hbase/version.rb +1 -1
- data/spec/ok_hbase/table_spec.rb +4 -4
- metadata +3 -3
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Welcome HBase cowboys.
|
4
4
|
|
5
|
-
Read the [
|
5
|
+
Read the [pages site](http://okcwest.github.io/ok_hbase/)!
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -20,22 +20,47 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
```
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
23
|
+
```ruby
|
24
|
+
# simple example showing how to:
|
25
|
+
# 1) connect
|
26
|
+
# 2) create a table
|
27
|
+
# 3) write rows
|
28
|
+
# 4) scan for rows
|
29
|
+
# 5) get a row by key
|
30
|
+
# 6) delete a table
|
31
|
+
|
32
|
+
require 'ok_hbase'
|
33
|
+
|
34
|
+
# get a connection
|
35
|
+
conn = OkHbase::Connection.new(
|
36
|
+
host: 'localhost',
|
37
|
+
port: 9090,
|
38
|
+
auto_connect: true
|
39
|
+
)
|
40
|
+
|
41
|
+
# create a new table with column family 'd'
|
42
|
+
table = conn.create_table('ok_hbase_test', d: {})
|
43
|
+
|
44
|
+
# put a bunch of data in the table
|
45
|
+
('hbaaa'..'hbzzz').each_with_index do |row_key, index|
|
46
|
+
table.put(
|
47
|
+
row_key,
|
48
|
+
{
|
49
|
+
'd:row_number' => "#{index+1}",
|
50
|
+
'd:message' => "this is row number #{index+1}"
|
51
|
+
}
|
52
|
+
)
|
53
|
+
print "wrote row: #{row_key}\r"
|
54
|
+
end
|
55
|
+
|
56
|
+
# scan for all rows beginning with 'hba'
|
57
|
+
table.scan(row_prefix: 'hba')
|
58
|
+
|
59
|
+
# get the row with the row key 'hbase'
|
60
|
+
table.row('hbase')
|
61
|
+
|
62
|
+
# clean up
|
63
|
+
conn.delete_table('ok_hbase_test', true)
|
39
64
|
```
|
40
65
|
|
41
66
|
## Contributing
|
@@ -8,7 +8,7 @@ module OkHbase
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def rows(row_keys, columns = nil, timestamp = nil, include_timestamp = false)
|
11
|
-
super.map
|
11
|
+
super.map { |row_key, data| self.row_class.new table: self, row_key: row_key, default_column_family: self.default_column_family, raw_data: data }
|
12
12
|
end
|
13
13
|
|
14
14
|
def scan(opts={})
|
@@ -86,7 +86,7 @@ module OkHbase
|
|
86
86
|
self.connection.client.getRowsWithColumns(self.connection.table_name(table_name), row_keys, columns)
|
87
87
|
end
|
88
88
|
|
89
|
-
rows.map { |row| _make_row(row.columns, include_timestamp) }
|
89
|
+
rows.map { |row| [row.row, _make_row(row.columns, include_timestamp) ]}
|
90
90
|
end
|
91
91
|
|
92
92
|
def cells(row_key, column, versions = nil, timestamp = nil, include_timestamp = nil)
|
data/lib/ok_hbase/version.rb
CHANGED
data/spec/ok_hbase/table_spec.rb
CHANGED
@@ -126,11 +126,11 @@ module OkHbase
|
|
126
126
|
subject.put(row_key2, row_data2.merge('d:foo' => 'OldFoo2'), timestamp-5)
|
127
127
|
subject.put(row_key2, row_data2, timestamp)
|
128
128
|
|
129
|
-
subject.rows([row_key1, row_key2]).should == [row_data1, row_data2]
|
130
|
-
subject.rows([row_key1, row_key2], nil, timestamp-9).should == [row_data1, row_data2.merge('d:foo' => 'OldFoo1')]
|
129
|
+
subject.rows([row_key1, row_key2]).should == [[row_key1, row_data1], [row_key2, row_data2]]
|
130
|
+
subject.rows([row_key1, row_key2], nil, timestamp-9).should == [[row_key1, row_data1], [row_key2, row_data2.merge('d:foo' => 'OldFoo1')]]
|
131
131
|
|
132
|
-
subject.rows([row_key1, row_key2], row_data1.keys - ['d:foo']).should == [row_data1.except('d:foo'), row_data2.except('d:foo')]
|
133
|
-
subject.rows([row_key1, row_key2], row_data1.keys - ['d:foo'], timestamp-5).should == [row_data1.except('d:foo'), row_data2.except('d:foo')]
|
132
|
+
subject.rows([row_key1, row_key2], row_data1.keys - ['d:foo']).should == [[row_key1, row_data1.except('d:foo')], [row_key2, row_data2.except('d:foo')]]
|
133
|
+
subject.rows([row_key1, row_key2], row_data1.keys - ['d:foo'], timestamp-5).should == [[row_key1, row_data1.except('d:foo')], [row_key2, row_data2.except('d:foo')]]
|
134
134
|
|
135
135
|
end
|
136
136
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ok_hbase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thrift
|
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
111
|
version: '0'
|
112
112
|
requirements: []
|
113
113
|
rubyforge_project:
|
114
|
-
rubygems_version: 1.8.
|
114
|
+
rubygems_version: 1.8.25
|
115
115
|
signing_key:
|
116
116
|
specification_version: 3
|
117
117
|
summary: Lightweight Ruby Hbase Client
|