作者BlgAtlfans (BLG_Eric)
看板Python
标题[问题] 如何透过Python连线到Cloudera Hive?
时间Wed Sep 7 11:18:54 2016
各位版上大神好:
小弟我最近在写一个程式
是要透过Django/Python连线到Cloudera Hue的Hive
上传资料(csv)到HDFS上并自动汇入成Table
目前的配置是一台Cloudrea官方释出的Quickstart VM
VM作业系统是centos 6.5(Python 2.6)
但是我是用Python 3.5写的程式
Master 和 Slave(一个) 的IP都是10.0.2.15
port 网站用8888 HiveServer2 用10000 Hive Metastore用9083
我已试过用Pyhive连线但是不管怎麽试都失败
根据自己debug来看连线似乎有连到
但是cursor.execute()那边会挂掉跑不出结果
也没有错误讯息(log那边是java看不懂)
程式如下:
from pyhive import presto
cursor = presto.connect('localhost',port=10000).cursor()
cursor.execute('SELECT * FROM nba;')
print cursor.fetchall()
#这里有试过把localhost换成quickstart.cloudera(网站名称)也是会卡住
我也用过pyhs2连过但是byte和str转换的error太多让我放弃
希望各位能给我一些意见或是更好的library用
因为网路上的资料太少了
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.19.185
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1473218337.A.5EC.html
1F:推 kenshin528: 透过thrift server 09/07 14:29
3F:→ kenshin528: 但是我个人觉得用python 呼叫shell 呼叫hive指令最稳 09/07 14:30
4F:推 daydream772: 可能是python版本问题,我用2.7可以正常运作 09/08 15:00