作者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://www.ptt.cc/bbs/Python/M.1473218337.A.5EC.html
推 kenshin528: 透過thrift server 09/07 14:29
→ kenshin528: 但是我個人覺得用python 呼叫shell 呼叫hive指令最穩 09/07 14:30
推 daydream772: 可能是python版本問題,我用2.7可以正常運作 09/08 15:00