2015-04-23 103 views

回答

3

我認爲這將是這樣的:

pyhs2.connect(host='biclient2.server.163.org', 
        port=10000, 
        authMechanism="KERBEROS", 
        password="something", 
        user='[email protected]') 

我也在做同樣的,我還沒有成功,但至少有一個有意義的錯誤代碼: (服務器蜂巢/ [email protected]在Kerberos數據庫中找到)

+0

我成功地使用你所說的,並添加一個''配置'參數,如:'conn_config = {'krb_host':'app-20.photo.163.org','krb_service':'hive'}' – leeyiw

+0

從安全角度來看,在Kerberos身份驗證中,用戶名/密碼應取自活動的Kerberos票據或密鑰表中。請參閱下面的@ pele88答案,以前的選項。 – Tagar

+0

加一,但pyhs2不再維護http://stackoverflow.com/a/38666630/470583 – Tagar

3

此連接字符串將只要運行該腳本的用戶具有有效的Kerberos票據工作:

import pyhs2 

with pyhs2.connect(host='biclient2.server.163.org', 
        port=10000, 
        authMechanism="KERBEROS") as conn: 

    with conn.cursor() as cur: 
      print cur.getDatabases() 

通過KDC傳遞的用戶名,密碼和任何其他配置參數不是 。

+0

加一,但pyhs2不再維護http://stackoverflow.com/a/38666630/470583 – Tagar

+0

@Ruslan是我知道,但沒有任何替代方案與kerberised集羣工作 - 我已經試過Impyla和PyHive。你有嗎? – pele88