日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

anaconda3.6.5安装pyhive

發布時間:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 anaconda3.6.5安装pyhive 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.首先安裝anaconda3.6.5

2.配置好bin下環境變量

3.來到anaconda官網,搜索需要的包,pyhive(不是anaconda前綴的也行,例如biaze/pyhive)

https://anaconda.org/anaconda/

?

如上截圖,選擇?anaconda?對應的pyhive,點擊進去

點擊FIles,選擇linux-64/pyhive-0.6.0-py36_0.tar.bz2

注:_0,_1是小版本,下那個都行;py36對應python3.6

4.安裝pyhive

conda install?pyhive-0.6.0-py36_0.tar.bz2

5.啟動python(anaconda3.6.5/bin/python)

from pyhive import hive

如果報錯,就去安裝對應缺少的包,直接在anaconda3官網搜索

例如:

這里缺少的past,你去搜索會發現只有paste,安裝后還是會報這個錯,這時直接百度python paste

?

點擊進去安裝past包,發現past是含在future包中的,在anaconda3官網搜索future安裝對應版本,解決上面的問題,pyhive至此安裝完畢

6.pyhive測試

(1)首先啟動hiveserver2服務(后臺啟動,命令打全)

nohup?hive?--service?hiveserver2?--hiveconf?hive.server2.thrift.port=端口 ?&

注:別與其他用戶端口沖突,可以先這樣啟動:hive?--service?hiveserver2?--hiveconf?hive.server2.thrift.port=端口,然后查看是否有端口沖突報錯

(2)進入python進行測試連接:(端口為啟動hiveserver2的端口)

from pyhive import hive

conn = hive.Connection(host='xxxx', port=xxxx, username='xxx', database='xxxx')

cursor= conn.cursor()

cursor.execute('select * from xxx limit 10')

for result in cursor.fetchall():

? ?(三個及以上空格)print result (只能輸出select 的結果,insert無法輸出

(3)關于pyhive insert等走mr流程的操作無法得到資源運行的問題,請設置如下:

cursor.execute("set?mapreduce.job.queuename=隊列名")(測試可用,放到執行語句前面)

(4)關閉hive鎖

set hive.support.concurrency=false;

問題:

pyhive先執行select,在執行insert操作,出現hive鎖

from pyhive import hive

conn = hive.Connection(host='xxxx', port=xxxx, username='xxx', database='xxxx')

cursor= conn.cursor()

cursor.execute('select * from xxx limit 10')

正常這一步

cursor.execute(‘insert into test values (1)')

這一步出現報錯

解決:

執行如下:

cursor.execute("set hive.support.concurrency=false")

再次運行,成功執行

?

總結

以上是生活随笔為你收集整理的anaconda3.6.5安装pyhive的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。