[问题] 如何透过Python连线到Cloudera Hive?

楼主: BlgAtlfans (BLG_Eric)   2016-09-07 11:18:54
各位版上大神好:
小弟我最近在写一个程式
是要透过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用
因为网络上的资料太少了
感谢
作者: kenshin528 (成立奥凶帝国!!)   2016-09-07 14:29:00
透过thrift serverhttp://goo.gl/16Ew8Z但是我个人觉得用python 呼叫shell 呼叫hive指令最稳
作者: daydream772 (皮老板)   2016-09-08 15:00:00
可能是python版本问题,我用2.7可以正常运作

Links booklink

Contact Us: admin [ a t ] ucptt.com