首页 > 大数据 > Hadoop > 【Hadoop】pyhton链接hive
使用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/
# -*- 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博客 ” ,链接:https://blog.itpub.net/29096438/viewspace-2156928/ ,如需转载,请注明出处,否则将追究法律责任。