話不多說,直接上代碼
from pyhive import hivedef pyhive(hql): conn = hive.Connection(host='HiveServer2 host', port=10000, database='ods') cursor = conn.cursor() cursor.execute(hql) for result in cursor.fetchall(): return result
部署時遇到一個問題:
Traceback (most recent call last): File "test_pyhive.py", line 7, in <module> from pyhive import hive File "/usr/lib/python2.7/site-packages/pyhive/hive.py", line 15, in <module> from TCLIService import TCLIService File "/usr/lib/python2.7/site-packages/TCLIService/TCLIService.py", line 9, in <module> from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException ImportError: cannot import name TFrozenDict
解決方法是:
原因是某些包沒有關聯上,裝包時,加上[hive]后綴
pip install pyhive[hive]