使用hive模块
-
pip install sasl
-
pip install thrift
-
pip install thrift - sasl
-
pip install PyHive
-
[ root@ ip - 172 - 31 - 40 - 242 ~ ] # more testpyhive . py
-
from pyhive import hive
-
conn = hive . Connection ( host = 'xxxxxxx' , port = 10000 , database = 'collection' , username = '' )
-
cursor = conn . cursor ( )
-
cursor . execute ( 'select * from tb_partition limit 10' )
-
for result in cursor . fetchall ( ) :
-
print result
[root@ip-172-31-40-242 ~]# python testpyhive.py
(u'1', u'2', u'201707')
(u'1', u'2', u'201707')
(u'123', None, u'201709')
(u'123', u'456', u'201709')
(u'45678', u'456', u'201709')
(u'123', None, u'201709')
(u'123', u'456', u'201709')
(u'45678', u'456', u'201709')
(u'123', None, u'201709')
(u'123', u'456', u'201709')
官方API: https://pypi.org/project/PyHive/
如何使用Python Impyla客户端连接Hive和Impala
# -*- coding:utf-8 -*- from impala.dbapi import connect conn = connect(host='172.31.46.109',port=10000,database='collection',auth_mechanism='PLAIN') print(conn) cursor = conn.cursor() # param = '''SET hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; SET hive.support.concurrency=true; ''' cursor.execute(param) cursor.execute('SELECT uid FROM redefine_collection where uid=4028 limit 10') print cursor.description # prints the result set's schema results = cursor.fetchall() print results # # Python连接Impala(ImpalaTest.py) # # from impala.dbapi importconnect # # conn = connect(host='ip-172-31-26-80.ap-southeast-1.compute.internal',port=21050) # # print(conn) # # cursor = conn.cursor() # # cursor.execute('show databases') # # print cursor.description # prints the result set's schema # # results = cursor.fetchall() # # print(results) # # cursor.execute('SELECT * FROM test limit 10') # # print cursor.description # prints the result set's schema # # results = cursor.fetchall() # # print(results) 参考:https://cloud.tencent.com/developer/article/1078029
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-2156928/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29096438/viewspace-2156928/