hbase-ruby 1.1.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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