我正在使用 Python Apache Hive 客户端 ( https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-Python ) 在 Shark 服务器上运行查询。
问题是当我在 Shark CLI 中正常运行查询时,我会得到一整套结果,但是当我使用 Hive Python 客户端时,它只返回 100 行。我的选择查询没有限制。
鲨鱼命令行:
[localhost:10000] shark> SELECT COUNT(*) FROM table;
46831
Python:
import sys
from hive_service import ThriftHive
from hive_service.ttypes import HiveServerException
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
try:
transport = TSocket.TSocket('localhost', 10000)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ThriftHive.Client(protocol)
transport.open()
client.execute("SELECT * from table")
hdata = client.fetchAll()
transport.close()
....
In [97]: len(hdata)
Out[97]: 100
奇怪的是,当我在 Python 代码中运行 COUNT(*) 时,我得到:
In [104]: hdata
Out[104]: ['46831']
是否有我可以访问的设置文件或变量来解锁此限制?