Heim > Backend-Entwicklung > Python-Tutorial > Beispielcodeanalyse für eine HBase-Operation in Python

Beispielcodeanalyse für eine HBase-Operation in Python

黄舟
Freigeben: 2017-05-07 11:02:51
Original
1760 Leute haben es durchsucht


HBase installieren

HBase ist ein verteiltes Spaltenspeichersystem, das auf HDFS basiert und hauptsächlich für die Speicherung massiver strukturierter Daten verwendet wird. Hier besteht unser Ziel lediglich darin, eine grundlegende Umgebung für Python für den Zugriff auf HBase bereitzustellen. Laden Sie also das Binärpaket direkt herunter und installieren Sie es auf einem eigenständigen Computer. Entpacken Sie es nach dem Herunterladen, ändern Sie die Konfigurationsdatei und starten Sie HBase dann direkt. Die verwendete Systemversion ist Ubuntu14.04.

Herunterladen

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.2.4/hbase-1.2.4-bin.tar.gz tar zxvf hbase-1.2.4-bin.tar.gz
Nach dem Login kopieren

Konfiguration

Ändern Sie hbase-env.sh und legen Sie JAVA_HOME fest.

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
Nach dem Login kopieren

Ändern Sie hbase-site.xml und legen Sie das Stammverzeichnis zum Speichern von Daten fest.

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///home/mi/work/hbase/data</value>
    </property></configuration>
Nach dem Login kopieren

Starten

bin/start-hbase.sh  # 启动bin/hbase shell  # 进入hbase交互shell
Nach dem Login kopieren

Thrift installieren

Nach der Installation von HBase müssen Sie auch Thrift installieren, denn wenn andere Sprachen HBase aufrufen, müssen sie dies tun Verbinden Sie sich über Thrift.

Thrift-Abhängigkeiten installieren

sudo apt-get install automake bison flex g++ git libboost1.55 libevent-dev libssl-dev libtool make pkg-config
Nach dem Login kopieren

PS: libboost1.55-all-dev, es gab ein Problem mit der Installation auf meinem Ubuntu14.04, also habe ich libboost1.55 installiert.

Kompilieren und installieren

Laden Sie den Quellcode herunter, entpacken Sie ihn, kompilieren und installieren Sie ihn. Thrift-Download-Adresse

tar zxf thrift-0.10.0.tar.gzcd thrift-0.10.0/./configure 
--with-cpp --with-boost --with-python --without-csharp --with-java 
--without-erlang --without-perl --with-php --without-php_extension --without-ruby --without-haskell  
--without-gomake  # 编译耗时较长sudo make install
Nach dem Login kopieren

Starten Sie den Thrift-Dienst von HBase

bin/hbase-daemon.sh start thrift
Nach dem Login kopieren

Überprüfen Sie den Systemprozess

~/work/hbase/hbase-1.2.4/conf$ jps3009 ThriftServer4184 HMaster5932 Jps733 Main
Nach dem Login kopieren

Sie können sehen, dass ThriftServer erfolgreich gestartet wurde. und dann können wir mehrere Sprachen verwenden, um über Thrift auf HBase zuzugreifen.

Python betreibt HBase

Im Folgenden wird Python als Beispiel verwendet, um zu demonstrieren, wie auf HBase zugegriffen wird.

Abhängige Pakete installieren

sudo pip install thriftsudo pip install hbase-thrift
Nach dem Login kopieren

Demoprogramm

from thrift import Thriftfrom thrift.transport 
import TSocketfrom thrift.transport import TTransportfrom thrift.protocol 
import TBinaryProtocolfrom hbase import Hbasefrom hbase.ttypes import *

transport = TSocket.TSocket(&#39;localhost&#39;, 9090)

transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)

client = Hbase.Client(protocol)
transport.open()

contents = ColumnDescriptor(name=&#39;cf:&#39;, maxVersions=1)# client.deleteTable(&#39;test&#39;)client.createTable(&#39;test&#39;, [contents])print client.getTableNames()# insert datatransport.open()

row = &#39;row-key1&#39;mutations = [Mutation(column="cf:a", value="1")]
client.mutateRow(&#39;test&#39;, row, mutations)
# get one rowtableName = &#39;test&#39;rowKey = &#39;row-key1&#39;result = client.getRow(tableName, rowKey)
print resultfor r in result:    
print &#39;the row is &#39;, r.row    
print &#39;the values is &#39;, r.columns.get(&#39;cf:a&#39;).value
Nach dem Login kopieren

Ausführungsergebnis:

[&#39;test&#39;]
[TRowResult(columns={&#39;cf:a&#39;: TCell(timestamp=1488617173254, value=&#39;1&#39;)}, row=&#39;row-key1&#39;)]
the row is  row-key1
the values is  1
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBeispielcodeanalyse für eine HBase-Operation in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage