您的位置:首页 > 编程语言 > Python开发

Python连接Hive

2016-06-15 17:01 423 查看
1.在使用Python连接hive之前,需要将hive安装包下的lib/py中的文件拷贝到python的sys.path中的site-packages下,否则引入对应的包会报错,这个是使用hive提供的Python接口来调用hive客户端。

2 启动hive 的thrift

确保以下服务开启:
hive --service hiveserver
默认端口是10000

from hive_service import ThriftHive

from thrift import Thrift

from thrift.transport import TSocket

from thrift.transport import TTransport

from thrift.protocol import TBinaryProtocol

def ReadHiveTest(sql):

try:

tSocket = TSocket.TSocket('172.18.1.88',10000)

tTransport = TTransport.TBufferedTransport(tSocket)

protocol = TBinaryProtocol.TBinaryProtocol(tTransport)

client = ThriftHive.Client(protocol)

tTransport.open()

client.execute(sql)

return client.fetchAll()

except Thrift.TException, tx:

print '%s' % (tx.message)

finally:
tTransport.close()

if __name__ == '__main__':

showDatabasesSql = 'show databases'

showTablesSql = 'show tables'

selectSql = 'SELECT * FROM 07_jn_mysql_2'

result = ReadHiveTest(selectSql)

print(result[1])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: