hbase-ruby 1.1.3 → 1.2.0

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.
File without changes
@@ -44,7 +44,10 @@ Here are some examples:
44
44
  <pre><code>
45
45
  require 'hbase'
46
46
 
47
- client = HBase::Client.new("http://localhost:8080") # this url is the default for stargate.
47
+ # Direct connection
48
+ # client = HBase::Client.new("http://localhost:8080") # this url is the default for stargate.
49
+ # Connection through a proxy
50
+ client = HBase::Client.new("http://localhost:8080", { :proxy => "10.2.3.4:8080" })
48
51
 
49
52
  # Table Operation
50
53
  tables = client.list_tables # list available tables
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- require 'rubygems'
1
+ require 'spec/rake/spectask'
2
2
 
3
3
  begin
4
4
  require 'jeweler'
@@ -10,8 +10,8 @@ begin
10
10
  gemspec.homepage = "http://github.com/greglu/hbase-ruby"
11
11
  gemspec.summary = "A pure ruby client for HBase using the Stargate interface."
12
12
  gemspec.description = "A pure ruby client used to interact with HBase through its Stargate interface which serves up XML, JSON, protobuf, and more."
13
- gemspec.files = FileList["{lib,spec,tasks}/**/*","Rakefile","VERSION","History.txt","MIT-LICENSE","README.textile"].to_a
14
- gemspec.extra_rdoc_files = FileList["MIT-LICENSE","README.textile"].to_a
13
+ gemspec.files = FileList["{lib,spec}/**/*","Rakefile","VERSION","LICENSE","README.textile"].to_a
14
+ gemspec.extra_rdoc_files = FileList["LICENSE","README.textile"].to_a
15
15
 
16
16
  gemspec.add_development_dependency "rspec"
17
17
  gemspec.add_dependency "json"
@@ -21,4 +21,7 @@ rescue LoadError
21
21
  puts "Jeweler not available. Install it with: sudo gem install jeweler"
22
22
  end
23
23
 
24
- Dir['tasks/**/*.rake'].each { |rake| load rake }
24
+ Spec::Rake::SpecTask.new(:spec) do |t|
25
+ t.spec_files = FileList['spec/**/*_spec.rb']
26
+ t.spec_opts = File.open("spec/spec.opts").readlines.map{|x| x.chomp}
27
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.2.0
@@ -1,44 +1,9 @@
1
- $:.unshift(File.dirname(__FILE__)) unless
2
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
-
4
- require 'hbase/client'
5
- require 'hbase/exception'
6
- require 'hbase/model'
7
- require 'hbase/request'
8
- require 'hbase/response'
9
-
10
- module HBase; end
11
-
12
- class Object
13
- def to_proc
14
- proc { |obj, *args| obj.send(self, *args) }
15
- end
16
-
17
- def blank?
18
- respond_to?(:empty?) ? empty? : !self
19
- end
20
- end
21
-
22
- class NilClass #:nodoc:
23
- def blank?
24
- true
25
- end
1
+ module HBase
2
+ VERSION = File.read(File.join(File.dirname(__FILE__), "..", "VERSION")).chomp.freeze
26
3
  end
27
4
 
28
- class Array #:nodoc:
29
- alias_method :blank?, :empty?
30
- end
31
-
32
- class Hash #:nodoc:
33
- alias_method :blank?, :empty?
34
- end
35
-
36
- class String #:nodoc:
37
- def blank?
38
- self !~ /\S/
39
- end
40
-
41
- def to_b
42
- self == "true" ? true : false
43
- end
44
- end
5
+ require File.join(File.dirname(__FILE__), "hbase", "client")
6
+ require File.join(File.dirname(__FILE__), "hbase", "exception")
7
+ require File.join(File.dirname(__FILE__), "hbase", "model")
8
+ require File.join(File.dirname(__FILE__), "hbase", "request")
9
+ require File.join(File.dirname(__FILE__), "hbase", "response")
@@ -1,8 +1,8 @@
1
1
  require 'net/http'
2
- require 'hbase/operation/meta_operation'
3
- require 'hbase/operation/table_operation'
4
- require 'hbase/operation/row_operation'
5
- require 'hbase/operation/scanner_operation'
2
+ require File.dirname(__FILE__) + '/operation/meta_operation'
3
+ require File.dirname(__FILE__) + '/operation/table_operation'
4
+ require File.dirname(__FILE__) + '/operation/row_operation'
5
+ require File.dirname(__FILE__) + '/operation/scanner_operation'
6
6
 
7
7
  module HBase
8
8
  class Client
@@ -20,7 +20,12 @@ module HBase
20
20
  end
21
21
 
22
22
  # Not actually opening the connection yet, just setting up the persistent connection.
23
- @connection = Net::HTTP.new(@url.host, @url.port)
23
+ if opts[:proxy]
24
+ proxy_address, proxy_port = opts[:proxy].split(':')
25
+ @connection = Net::HTTP.Proxy(proxy_address, proxy_port).new(@url.host, @url.port)
26
+ else
27
+ @connection = Net::HTTP.new(@url.host, @url.port)
28
+ end
24
29
  @connection.read_timeout = opts[:timeout] if opts[:timeout]
25
30
  end
26
31
 
@@ -11,9 +11,9 @@ module HBase
11
11
  end
12
12
  end
13
13
 
14
- require 'hbase/model/column'
15
- require 'hbase/model/column_descriptor'
16
- require 'hbase/model/region_descriptor'
17
- require 'hbase/model/row'
18
- require 'hbase/model/table_descriptor'
19
- require 'hbase/model/scanner'
14
+ require File.dirname(__FILE__) + '/model/column'
15
+ require File.dirname(__FILE__) + '/model/column_descriptor'
16
+ require File.dirname(__FILE__) + '/model/region_descriptor'
17
+ require File.dirname(__FILE__) + '/model/row'
18
+ require File.dirname(__FILE__) + '/model/table_descriptor'
19
+ require File.dirname(__FILE__) + '/model/scanner'
@@ -3,9 +3,16 @@ module HBase
3
3
  class Row < Record
4
4
  attr_accessor :table_name
5
5
  attr_accessor :name
6
- attr_accessor :timestamp
7
6
  attr_accessor :total_count
8
7
  attr_accessor :columns
8
+
9
+ def timestamp
10
+ warn "[DEPRECATION] timestamp attribute will be removed from the Row model. "
11
+ end
12
+
13
+ def timestamp=
14
+ timestamp
15
+ end
9
16
  end
10
17
  end
11
18
  end
@@ -20,7 +20,6 @@ module HBase
20
20
  request = Request::RowRequest.new(table_name, name, timestamp)
21
21
  row = Response::RowResponse.new(get(request.show(columns, options)), :show_row).parse.first
22
22
  row.table_name = table_name
23
- row.timestamp = timestamp
24
23
  row
25
24
  rescue Net::ProtocolError => e
26
25
  # TODO: Use better handling instead of this.
@@ -4,8 +4,8 @@ module HBase
4
4
  def show_table(name)
5
5
  begin
6
6
  request = Request::TableRequest.new(name)
7
- table_descriptor = Response::TableResponse.new(get(request.show)).parse
8
- rescue Net::ProtocolError => e
7
+ Response::TableResponse.new(get(request.show)).parse
8
+ rescue Net::ProtocolError
9
9
  raise TableNotFoundError, "Table '#{name}' Not found"
10
10
  end
11
11
  end
@@ -1,7 +1,7 @@
1
1
  module HBase; module Request; end; end
2
2
 
3
- require 'hbase/request/basic_request'
4
- require 'hbase/request/meta_request'
5
- require 'hbase/request/table_request'
6
- require 'hbase/request/row_request'
7
- require 'hbase/request/scanner_request'
3
+ require File.dirname(__FILE__) + '/request/basic_request'
4
+ require File.dirname(__FILE__) + '/request/meta_request'
5
+ require File.dirname(__FILE__) + '/request/table_request'
6
+ require File.dirname(__FILE__) + '/request/row_request'
7
+ require File.dirname(__FILE__) + '/request/scanner_request'
@@ -1,7 +1,7 @@
1
1
  module HBase; module Response; end; end
2
2
 
3
- require 'hbase/response/basic_response'
4
- require 'hbase/response/meta_response'
5
- require 'hbase/response/table_response'
6
- require 'hbase/response/row_response'
7
- require 'hbase/response/scanner_response'
3
+ require File.dirname(__FILE__) + '/response/basic_response'
4
+ require File.dirname(__FILE__) + '/response/meta_response'
5
+ require File.dirname(__FILE__) + '/response/table_response'
6
+ require File.dirname(__FILE__) + '/response/row_response'
7
+ require File.dirname(__FILE__) + '/response/scanner_response'
@@ -11,7 +11,7 @@ module HBase
11
11
  def parse_content(raw_data)
12
12
  case @method
13
13
  when :list_tables
14
- if raw_data.blank? || raw_data == "null" # "null" from json
14
+ if raw_data.to_s.empty? || raw_data == "null" # "null" from json
15
15
  puts "There are no available tables in the HBase"
16
16
  return []
17
17
  end
@@ -9,7 +9,7 @@ module HBase
9
9
  table["ColumnSchema"].each do |columnfamily|
10
10
  colname = columnfamily["name"].strip
11
11
  compression = columnfamily["COMPRESSION"].strip
12
- bloomfilter = columnfamily["BLOOMFILTER"].strip.to_b
12
+ bloomfilter = (columnfamily["BLOOMFILTER"].strip =~ /^true$/i ? true : false)
13
13
  max_versions = columnfamily["VERSIONS"].strip.to_i
14
14
 
15
15
  column_descriptor = Model::ColumnDescriptor.new(:name => colname,
@@ -4,7 +4,7 @@ describe HBase::Model::Row do
4
4
 
5
5
  it "should be have such attributes" do
6
6
  obj = HBase::Model::Row.new({})
7
- %w{name table_name timestamp columns}.each do |method|
7
+ %w{name table_name columns}.each do |method|
8
8
  obj.should respond_to(method)
9
9
  end
10
10
  end
@@ -2,6 +2,4 @@ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
2
2
 
3
3
  describe HBase::Model::Scanner do
4
4
 
5
- it "should be ..."
6
-
7
5
  end
@@ -30,18 +30,6 @@ describe HBase::Operation::TableOperation do
30
30
  end
31
31
  end
32
32
 
33
- it "should disable table 'test-hbase-ruby'" do
34
- lambda {
35
- table = @client.disable_table('test-hbase-ruby')
36
- }.should_not raise_error
37
- end
38
-
39
- it "should enable table 'test-hbase-ruby'" do
40
- lambda {
41
- table = @client.enable_table('test-hbase-ruby')
42
- }.should_not raise_error
43
- end
44
-
45
33
  it "should delete the table 'test-hbase-ruby'" do
46
34
  lambda {
47
35
  table = @client.destroy_table("test-hbase-ruby")
@@ -2,11 +2,6 @@ require File.join(File.dirname(__FILE__), "..", "spec_helper")
2
2
 
3
3
  describe HBase::Model::Record do
4
4
 
5
- # Stub
6
- it "should be true" do
7
- true.should == true
8
- end
9
-
10
5
  describe "Init" do
11
6
 
12
7
  it "should be successfuly when has the such instance variable" do
@@ -1,5 +1,4 @@
1
1
  require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
2
2
 
3
3
  describe HBase::Request::RowRequest do
4
-
5
4
  end
@@ -1,5 +1,4 @@
1
1
  require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
2
2
 
3
3
  describe HBase::Request::ScannerRequest do
4
-
5
4
  end
@@ -2,4 +2,3 @@
2
2
  --format specdoc
3
3
  --loadby mtime
4
4
  --reverse
5
- --debugger
@@ -1,7 +1,3 @@
1
- require "rubygems"
2
- require "spec"
3
- require File.join(File.dirname(__FILE__), "..", "lib", "hbase")
4
-
5
- Spec::Runner.configure do |config|
6
- #.etc
7
- end
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "hbase"))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hbase-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ye Dingding
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-11-25 00:00:00 -05:00
13
+ date: 2010-01-17 00:00:00 -05:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -40,11 +40,10 @@ executables: []
40
40
  extensions: []
41
41
 
42
42
  extra_rdoc_files:
43
- - MIT-LICENSE
43
+ - LICENSE
44
44
  - README.textile
45
45
  files:
46
- - History.txt
47
- - MIT-LICENSE
46
+ - LICENSE
48
47
  - README.textile
49
48
  - Rakefile
50
49
  - VERSION
@@ -95,7 +94,6 @@ files:
95
94
  - spec/hbase/response/table_response_spec.rb
96
95
  - spec/spec.opts
97
96
  - spec/spec_helper.rb
98
- - tasks/rspec.rake
99
97
  has_rdoc: true
100
98
  homepage: http://github.com/greglu/hbase-ruby
101
99
  licenses: []
@@ -125,23 +123,23 @@ signing_key:
125
123
  specification_version: 3
126
124
  summary: A pure ruby client for HBase using the Stargate interface.
127
125
  test_files:
128
- - spec/spec_helper.rb
129
- - spec/hbase/record_spec.rb
130
- - spec/hbase/response/table_response_spec.rb
131
- - spec/hbase/response/row_response_spec.rb
132
- - spec/hbase/response/scanner_response_spec.rb
133
- - spec/hbase/response/meta_response_spec.rb
126
+ - spec/hbase/request/row_request_spec.rb
127
+ - spec/hbase/request/table_request_spec.rb
128
+ - spec/hbase/request/meta_request_spec.rb
129
+ - spec/hbase/request/scanner_request_spec.rb
130
+ - spec/hbase/model/scanner.rb
134
131
  - spec/hbase/model/column_spec.rb
132
+ - spec/hbase/model/row_spec.rb
135
133
  - spec/hbase/model/column_descriptor_spec.rb
136
- - spec/hbase/model/scanner.rb
137
134
  - spec/hbase/model/region_descriptor_spec.rb
138
135
  - spec/hbase/model/table_descriptor_spec.rb
139
- - spec/hbase/model/row_spec.rb
140
- - spec/hbase/request/table_request_spec.rb
141
- - spec/hbase/request/meta_request_spec.rb
142
- - spec/hbase/request/row_request_spec.rb
143
- - spec/hbase/request/scanner_request_spec.rb
136
+ - spec/hbase/operation/row_operation_spec.rb
137
+ - spec/hbase/operation/meta_operation_spec.rb
144
138
  - spec/hbase/operation/scanner_operation_spec.rb
145
139
  - spec/hbase/operation/table_operation_spec.rb
146
- - spec/hbase/operation/meta_operation_spec.rb
147
- - spec/hbase/operation/row_operation_spec.rb
140
+ - spec/hbase/record_spec.rb
141
+ - spec/hbase/response/scanner_response_spec.rb
142
+ - spec/hbase/response/meta_response_spec.rb
143
+ - spec/hbase/response/table_response_spec.rb
144
+ - spec/hbase/response/row_response_spec.rb
145
+ - spec/spec_helper.rb
@@ -1,17 +0,0 @@
1
- v1.1.2 Nov 8, 2009
2
- * A bug with the timestamps in create_row() was fixed. Also updated specs.
3
-
4
- v1.1.1 Nov 7, 2009
5
- * Improved the scanner functionality. Decided it was worth a version bump and release.
6
-
7
- v1.1.0 Nov 7, 2009
8
- * Bumped to version 1.1.0 to avoid confusion with an existing hbase-ruby on gemcutter that was at version 1.0
9
- * Reimplemented entirely with HBase Stargate (old REST API was obsoleted by this)
10
- * Since Stargate can return JSON, parsing is now done with JSON instead of XML
11
- * API change to open_scanner. Now expects open_scanner(table_name, options) with available options listed under HBase::Model::Scanner.AVAILABLE_OPTS
12
-
13
- v0.4 Oct 12, 2008
14
- * support 'scanner'
15
-
16
- v0.1 Jul 29, 2008
17
- * initial version
@@ -1,7 +0,0 @@
1
- require 'rake'
2
- require 'spec/rake/spectask'
3
-
4
- Spec::Rake::SpecTask.new(:spec) do |t|
5
- t.spec_files = FileList['spec/**/*_spec.rb']
6
- t.spec_opts = File.open("spec/spec.opts").readlines.map{|x| x.chomp}
7
- end