我已經在遠程服務器上安裝了以下必要的軟件包以通過python訪問配置單元。通過python從遠程服務器訪問配置單元
的Python 2.7.6, Python開發工具, pyhs2, SASL-0.1.3, 節儉0.9.1, PyHive-0.1.0
這裏是python腳本訪問蜂房。
#!/usr/bin/env python
import pyhs2 as hive
import getpass
DEFAULT_DB = 'camp'
DEFAULT_SERVER = '10.25.xx.xx'
DEFAULT_PORT = 10000
DEFAULT_DOMAIN = 'xxx.xxxxxx.com'
# Get the username and password
u = raw_input('Enter PAM username: ')
s = getpass.getpass()
# Build the Hive Connection
connection = hive.connect(host=DEFAULT_SERVER, port=DEFAULT_PORT, authMechanism='LDAP', user=u + '@' + DEFAULT_DOMAIN, password=s)
# Hive query statement
statement = "select * from camp.test"
cur = connection.cursor()
# Runs a Hive query and returns the result as a list of list
cur.execute(statement)
df = cur.fetchall()
這是我得到的輸出:
文件 「建立/ bdist.linux-x86_64的/蛋/ pyhs2/初始化 py」 爲,7號線,在連接 文件「建立/ bdist .linux-x86_64/egg/pyhs2/connections.py「,第46行,在init 文件」build/bdist.linux-x86_64/egg/pyhs2/cloudera/thrift_sasl.py「,第74行,在打開 文件「build/bdist.linux-x86_64/egg/pyhs2/cloudera/thrift_sasl.py」,第92行,在_recv_sasl_message中 「build/bdist.linux-x86_64/egg/thrift/transport/TTransp ort.py」,第58行,在readAll 文件 「建立/ bdist.linux-x86_64的/蛋/節儉/運輸/ TSocket.py」,線路118,在讀 thrift.transport.TTransport.TTransportException:TSocket讀0字節
執行該腳本後,在輸出中看不到任何錯誤,但是在屏幕上看不到任何查詢結果。我不確定它爲什麼不顯示任何查詢結果,Hive服務器IP,端口,用戶和密碼都是正確的。而且我還驗證了hive服務器和遠程服務器之間的連接,沒有連接問題。
如果您有任何建議或解決方案,請幫助。感謝您的幫助。
Cloudera的裝箱率沒有發現錯誤,而在Python 3 – kten
運行此代碼同樣在這裏! @Aman –