Database Reference
In-Depth Information
hbase/thrift_example.rb
$:.push( './gen-rb' )
require 'thrift'
require 'hbase'
socket = Thrift::Socket.new( 'localhost' , 9090 )
transport = Thrift::BufferedTransport.new( socket )
protocol = Thrift::BinaryProtocol.new( transport )
client = Apache::Hadoop::Hbase::Thrift::Hbase::Client.new( protocol )
transport.open()
client.getTableNames().sort.each do |table|
puts " #{table} "
client.getColumnDescriptors( table ).each do |col, desc|
puts " #{desc.name} "
puts " maxVersions: #{desc.maxVersions} "
puts " compression: #{desc.compression} "
puts " bloomFilterType: #{desc.bloomFilterType} "
end
end
transport.close()
Im obigen Code müssen wir zuerst sicherstellen, dass Ruby die Modelldateien
findet. Dazu fügen wir gen-rb in den Pfad ein und binden thrift und hbase
ein. Danach stellen wir eine Verbindung mit dem Thrift-Server her und ver-
knüpfen sie mit einer HBase-Client-Instanz. Über dieses client -Objekt kom-
munizieren wir mit HBase.
Nachdem der transport geöffnet wurde, gehen wir alle Tabellen durch, die
von getTableNames zurückgeliefert werden. Für jede Tabelle gehen wir die Lis-
te der Spaltenfamilien durch, die uns getColumnDescriptors() zurückliefert
und geben einige Properties über die Standardausgabe aus.
Nun wollen wir das Programm über die Kommandozeile ausführen. Die Aus-
gabe sollte bei Ihnen ähnlich aussehen, da wir die Verbindung mit dem lo-
kalen HBase-Server herstellen, den wir vorhin gestartet haben.
$> ruby thrift _ example.rb
links
from:
maxVersions: 1
compression: NONE
bloomFilterType: ROWCOL
to:
maxVersions: 1
compression: NONE
bloomFilterType: ROWCOL
wiki
revision:
maxVersions: 2147483647
compression: NONE
bloomFilterType: NONE
 
Search WWH ::




Custom Search