thrift 구성
Python에서 사용하는 패키지 thrift
제가 개인적으로 사용하는 Python 컴파일러는 pycharm 커뮤니티 에디션입니다. 프로젝트 설정에서 프로젝트 인터프리터를 찾으세요. 해당 프로젝트 아래에서 패키지를 찾은 후 "+"를 선택하여 추가하고 hbase-thrift(HBase Thrift 인터페이스용 Python 클라이언트)를 검색한 후 패키지를 설치합니다.
서버측 Thrift를 설치합니다.
공식 홈페이지를 참고하시고, 로컬 컴퓨터에 설치하여 터미널 사용도 가능합니다.
thrift 시작하기
설치 방법도 참조할 수 있습니다Python 호출 HBase 예제
먼저 thrift를 설치합니다
thrift를 다운로드합니다. 여기에서 사용합니다. thrift -0.7.0-dev.tar.gz 이 버전
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
그런 다음 HBase 소스 패키지로 이동하여
src/main/resources/org/apache/hadoop/hbase/를 찾습니다. thrift /
실행
thrift –gen py Hbase.thrift
mv gen-py/hbase/ /usr/lib/python2.4/site-packages/ (파이썬 버전에 따라 다를 수 있음)
데이터 가져오기 예제 1
# 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"
기본 Python을 아는 사람들은 결과가 목록이고 result[0].columns.items()가 dict 키-값 쌍이라는 것을 알아야 합니다. 관련정보를 확인하실 수 있습니다. 또는 변수를 출력하여 변수의 값과 유형을 관찰합니다.
참고: 위 프로그램에서는 Transport.open()이 연결되어 있습니다. 실행 후에는 Transport.close()의 연결을 끊어야 합니다.
현재는 데이터 읽기만 포함됩니다. 앞으로도 계속해서 다른 dbase 작업을 업데이트하세요.
위 내용은 Python에서 hbase 데이터를 조작하는 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!