[問題] 如何透過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