如何快速地向HBase插入数据?

2024-10-16 20:43:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在尽可能短的时间内将数据插入Hbase。我尝试在底部显示的方式,但我得到一个错误显示如下。有人知道怎么回事吗?我该怎么解决?也许hbase org.apache.hadoop.hbase.mapreduce.ImportTsv更有效?或者我应该使用PySpark或者其他工具?什么给我最好的表现?如果需要其他信息,请告诉我。提前谢谢你。在

错误

Connect to HBase. table name: rfic, batch size: 1000
Connected to file. name: /path/to/hbase/logs2.csv
Traceback (most recent call last):
  File "insert-data2.py", line 87, in <module>
    batch.send()
  File "/usr/local/lib/python3.4/dist-packages/happybase/batch.py", line 60, in send
    self._table.connection.client.mutateRows(self._table.name, bms, {})
  File "/usr/local/lib/python3.4/dist-packages/thriftpy/thrift.py", line 198, in _req
    return self._recv(_api)
  File "/usr/local/lib/python3.4/dist-packages/thriftpy/thrift.py", line 210, in _recv
    fname, mtype, rseqid = self._iprot.read_message_begin()
  File "thriftpy/protocol/cybin/cybin.pyx", line 439, in cybin.TCyBinaryProtocol.read_message_begin (thriftpy/protocol/cybin/cybin.c:6470)
cybin.ProtocolError: No protocol version header

以下是我的源代码,但如果你有任何其他工作的解决方案,我将很感激分享。在

insert-data2.py

^{pr2}$

Tags: tonameinpyselflibusrlocal
1条回答
网友
1楼 · 发布于 2024-10-16 20:43:32

当Thrift服务器未运行时会发生这种情况。您需要使用HBase在HBase集群上开始节约-守护程序.sh脚本:

 /<hbase_home>/bin/hbase-daemon.sh start thrift

HBase Thrift接口允许其他语言通过Thrift连接到Thrift服务器来访问HBase。它就像HBase的网关一样工作。在

通过happybase库连接时,请使用thrift服务器运行的端口。在

相关问题 更多 >