使用インパラ接続ハイブは、ピットのプロセスを強化しました

まず、パッケージミラーエラー

 あなたはpython3.7を使用している場合、ドッキングウィンドウのビルドは常に間違っている、python3.6のバージョンを使用することを検討してください

 そして注:選択倹約-SASL == 0.2.1、そうでない場合があります。

AttributeError:「TSocket」オブジェクトが無属性のいるisOpen」を持っています

 

二、auth_mechanism

以下からの接続impala.dbapiインポート

ホスト= 'your_hive_ip' 
ユーザ名= 'your_username' 
パスワード= 'your_passwordに' 
ポート= 21050 
data_base_name = 'your_database_name' 

db_connection =接続(=ホストホスト、ポート=ポート、ユーザー=ユーザー名、パスワード=パスワード、データベースdata_base_name =、= auth_mechanism「LDAP」)
auth_mechanismなし#まず、銀行は文句はありませんが、カーソルの下に文句を言うだろう
#プラスauth_mechanismパラメータを、次のエラーを受け取る
カーソル= db_connection.cursor()
thriftpy.transport.TTransportException:TTransportException(タイプ= 1、メッセージ= "SASLを開始できませんでした:sasl_client_startでb'Error(-4)SASL(-4):なし機構:コールバックが見つかりません:2' ")

  SASLとpuresasl競合が、この場合には、直接アンロードSASLパッケージは、その後、gitのからソリューションをpuresaslをインストールしているため実際には、主な理由は次のとおりです。

私は、問題を解決しimpylaが、それは純粋な-SASLと連携して、すべてがうまく行くSASLパッケージを見つけcan'tとき、PURE-SASLをパッケージSASLをアンインストールする必要がありました。

  また、することができます直接ダウンロードローカルにpuresaslパッケージをインストールし、PIP

 

三、TypeError例外:ことはできません連結strのバイト

 ライン94 init.pyに最後のエラー、(標準の黄色の部分)を配置します:

= struct.packヘッダ( "> BI"、ステータス、lenの(本体)) 措置に係る処理オンラインBODY増加を提供
IF(タイプの(体)STR IS):
    本体= body.encode()
self._trans .WRITE(ヘッダ+本体)
self._trans.flush()

 

 最後に、各パッケージのバージョン:

  python3.6.4、bitarray == 1.1.0、倹約== 0.9.3、倹約-SASL == 0.2.1、6 == 1.12.0、純粋-SASL == 0.6.2、impyla == 0.15.0

 

おすすめ

転載: www.cnblogs.com/always-fight/p/11887808.html