Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die Methode zum Betrieb von hbase-Daten in Python

Detaillierte Einführung in die Methode zum Betrieb von hbase-Daten in Python

高洛峰
高洛峰Original
2017-03-24 17:29:592787Durchsuche

Konfigurieren Sie Thrift
Das von Python verwendete Paket Thrift
Der Python-Compiler, den ich persönlich verwende, ist die Pycharm Community Edition. Suchen Sie in den Projekteinstellungen nach dem Projektinterpreter. Suchen Sie unter dem entsprechenden Projekt das Paket, wählen Sie dann „+“ zum Hinzufügen aus, suchen Sie nach hbase-thrift (Python-Client für die HBase Thrift-Schnittstelle) und installieren Sie dann das Paket.
Installieren Sie serverseitige Sparsamkeit.
Besuchen Sie die offizielle Website. Sie können es auch auf Ihrem lokalen Computer installieren, um es auf dem Terminal zu verwenden.
Thrift Erste Schritte
Sie können sich auch auf die Installationsmethode beziehenPython-Aufruf-HBase-Beispiel
Zuerst Thrift installieren
Thrift herunterladen, hier verwende ich thrift -0.7.0-dev.tar.gz diese Version
tar xzf thrift-0.7.0-dev.tar.gz
cd thrift-0.7.0-dev
sudo ./configure –with- cpp =no –with-ruby=no
sudo make
sudo make install
Gehen Sie dann zum HBase-Quellpaket und suchen Sie
src/main/resources/org/apache/hadoop/hbase/ thrift /
Execute
thrift –gen py Hbase.thrift
mv gen-py/hbase/ /usr/lib/python2.4/site-packages/ (kann je nach Python-Version unterschiedlich sein)
Beispiel 1 zum Abrufen von Daten

# coding:utf-8
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
# from hbase.ttypes import ColumnDescriptor, Mutation, BatchMutation
from hbase.ttypes import *
import csv
def client_conn():
 # Make socket
 transport = TSocket.TSocket('hostname,like:localhost', port)
 # Buffering is critical. Raw sockets are very slow
 transport = TTransport.TBufferedTransport(transport)
 # Wrap in a protocol
 protocol = TBinaryProtocol.TBinaryProtocol(transport)
 # Create a client to use the protocol encoder
 client = Hbase.Client(protocol)
 # Connect!
 transport.open()
 return client
if __name__ == "__main__":
 client = client_conn()
 # r = client.getRowWithColumns('table name', 'row name', ['column name'])
 # print(r[0].columns.get('column name')), type((r[0].columns.get('column name')))
 result = client.getRow("table name","row name")
 data_simple =[]
 # print result[0].columns.items()
 for k, v in result[0].columns.items(): #.keys()
  #data.append((k,v))
  # print type(k),type(v),v.value,,v.timestamp
  data_simple.append((v.timestamp, v.value))
 writer.writerows(data)
 csvfile.close()
 csvfile_simple = open("data_xy_simple.csv", "wb")
 writer_simple = csv.writer(csvfile_simple)
 writer_simple.writerow(["timestamp", "value"])
 writer_simple.writerows(data_simple)
 csvfile_simple.close()
 print "finished"

Wer sich mit Python auskennt, sollte wissen, dass result eine Liste und result[0].columns.items() ein Diktat-Schlüssel-Wert-Paar ist. Sie können relevante Informationen überprüfen. Oder beobachten Sie durch Ausgabe der Variablen den Wert und Typ der Variablen.
Hinweis: Im obigen Programm ist transport.open() verknüpft. Nach der Ausführung muss transport.close() getrennt werden.
Derzeit geht es nur um das Lesen von Daten Fahren Sie in Zukunft fort. Aktualisieren Sie andere Datenbankvorgänge.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Methode zum Betrieb von hbase-Daten in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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