3

Python を使用して hbase からデータを読み込もうとしています。thrift をインストールし、gen-py ファイルを生成してから、python lib:~/.local/lib/python2.7/site-packages/ に移動しました。

hbase リサイクル サーバーは 192.168.15.116:39090 にあります。が開始されました。

私のコードはサーバー 192.168.15.146 にあります。このマシンでは、hbase シェル コマンドを使用して hbase データを読み取ることができます。ここに私のPythonコードがあります:

#! /usr/bin/env python
from thrift import Thrift                                                                                                                                                                
from thrift.transport import TSocket, TTransport                                                                                                                                         
from thrift.protocol import TBinaryProtocol                                                                                                                                              
from hbase import Hbase                                                                                                                                                                  


transport = TSocket.TSocket('192.168.15.116', 39090)                                                                                                                                     

transport.setTimeout(5000)                                                                                                                                                               

#transport = TTransport.TBufferedTransport(transport)                                                                                                                                    

protocol = TBinaryProtocol.TBinaryProtocol(transport)                                                                                                                                    

client = Hbase.Client(protocol)                                                                                                                                                          

transport.open()                                                                                                                                                                         


print(client.getTableNames())

それはすべて問題ありませんでしたが、最後の行、ここにエラーがあります:

 Traceback (most recent call last):
  File "test01.py", line 24, in <module>
    client.getTableNames()
  File "~/.local/lib/python2.7/site-packages/hbase/Hbase.py", line 788, in getTableNames
    return self.recv_getTableNames()
  File "~/.local/lib/python2.7/site-packages/hbase/Hbase.py", line 803, in recv_getTableNames
    raise x
thrift.Thrift.TApplicationException: Internal error processing getTableNames

私はそれをグーグルで検索しましたが、このERROを解決する方法を見つけることができませんでした.誰か助けてもらえますか? 前もって感謝します!

4

2 に答える 2