Heim > Artikel > Backend-Entwicklung > Detaillierte Einführung in die Methode zum Betrieb von hbase-Daten in Python
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!