Module: HBase::Operation::TableOperation

Included in:
Client
Defined in:
lib/hbase/operation/table_operation.rb

Instance Method Summary collapse

Instance Method Details

#create_table(name, *args) ⇒ Object

Raises:

  • (StandardError)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/hbase/operation/table_operation.rb', line 9

def create_table(name, *args)
  request = Request::TableRequest.new(nil)

  raise StandardError, "Table name must be of type String" unless name.instance_of? String

  xml_data = "<?xml version='1.0' encoding='UTF-8'?><table><name>#{name}</name><columnfamilies>"
  for arg in args
    if arg.instance_of? String
      xml_data << "<columnfamily><name>#{arg}</name></columnfamily>"
    elsif arg.instance_of? Hash
      xml_data << "<columnfamily>"
      arg.each do |k,v|
        if Model::ColumnDescriptor::AVAILABLE_OPTS.include? k
          xml_data << "<#{Model::ColumnDescriptor::AVAILABLE_OPTS[k]}>#{v}</#{Model::ColumnDescriptor::AVAILABLE_OPTS[k]}>"
        end
      end
      xml_data << "</columnfamily>"
    else
      raise StandardError, "#{arg.class.to_s} of #{arg.to_s} is not of Hash Type"
    end
  end
  xml_data << "</columnfamilies></table>"
  Response::TableResponse.new(post(request.create, xml_data))
end

#delete_table(name) ⇒ Object



34
35
36
37
# File 'lib/hbase/operation/table_operation.rb', line 34

def delete_table(name)
  request = Request::TableRequest.new(name)
  Response::TableResponse.new(delete(request.delete))
end

#disable_table(name) ⇒ Object



44
45
46
47
# File 'lib/hbase/operation/table_operation.rb', line 44

def disable_table(name)
  request = Request::TableRequest.new(name)
  Response::TableResponse.new(post(request.disable))
end

#enalbe_table(name) ⇒ Object



39
40
41
42
# File 'lib/hbase/operation/table_operation.rb', line 39

def enalbe_table(name)
  request = Request::TableRequest.new(name)
  Response::TableResponse.new(post(request.enable))
end

#show_table(name) ⇒ Object



4
5
6
7
# File 'lib/hbase/operation/table_operation.rb', line 4

def show_table(name)
  request = Request::TableRequest.new(name)
  table_descriptor = Response::TableResponse.new(get(request.show)).parse
end

#table_regions(name, start_row = nil, end_row = nil) ⇒ Object



49
50
# File 'lib/hbase/operation/table_operation.rb', line 49

def table_regions(name, start_row = nil, end_row = nil)
end