python通过thrift方式连接hive问题
根据某高手前辈的链接安装好thrift和相亲包,执行如下测试脚本出现无法连接的情况。
- #!/usr/bin/env 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
- def hiveExe(sql):
- try:
- transport = TSocket.TSocket('127.0.0.1', 10000)
- transport = TTransport.TBufferedTransport(transport)
- protocol = TBinaryProtocol.TBinaryProtocol(transport)
- client = ThriftHive.Client(protocol)
- transport.open()
- client.execute(sql)
- print "The return value is : "
- print client.fetchAll()
- print "............"
- transport.close()
- except Thrift.TException, tx:
- print '%s' % (tx.message)
- if __name__ == '__main__':
- hiveExe("select * from t_afan_test")
请高手解救,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
原来是hive server没启动。执行hive --service hiveserver就可以了
补充一下,使用的是hive 0.8.1版本,thrift是0.9.0版本。