1. 程式人生 > >python連線impala報錯

python連線impala報錯

背景

聯結器一般使用impyla,但是我發現這個庫問題不少,關鍵報錯了看不出來哪裡出問題了,著實令人蛋疼!!

問題

常見的難以解決的報錯有:
1. AttributeError: 'TBufferedTransport' object has no attribute 'trans'
2. TypeError: expecting list of size 2 for struct args
3. 見https://github.com/cloudera/impyla/issues/286

解決辦法

這實際上都是同一個問題,pip install thrift==0.9.3即可

python3時的報錯

如果你的python版本是3的話,會發現報錯可能不一樣,比如下面的:

Traceback (most recent call last):
  File "impala_py.py", line 68, in <module>
    df = run_sql(sql)
  File "impala_py.py", line 29, in run_sql
    conn = connect(host='xxx', auth_mechanism='PLAIN', port=21050, user='xxx', password='xxxx')
  File "/home/liming/anaconda2/envs/test3/lib/python3.6/site-packages/impala/dbapi.py"
, line 147, in connect auth_mechanism=auth_mechanism) File "/home/liming/anaconda2/envs/test3/lib/python3.6/site-packages/impala/hiveserver2.py", line 758, in connect transport.open() File "/home/liming/anaconda2/envs/test3/lib/python3.6/site-packages/thrift_sasl/__init__.py", line 67, in open if not self._trans.isOpen(): AttributeError: 'TSocket'
object has no attribute 'isOpen'

目前嘗試可以的解決辦法是安裝如下版本的包:
thrift-sasl==0.2.1
只在linux嘗試成功了,windows下安裝失敗

相關推薦

python連線impala

背景 聯結器一般使用impyla,但是我發現這個庫問題不少,關鍵報錯了看不出來哪裡出問題了,著實令人蛋疼!! 問題 常見的難以解決的報錯有: 1. AttributeError: 'TBufferedTransport' object has no

Python 連線oracle :oci.dll is not the correct architecture 解決方案

完整錯誤:DPI-1047: 64-bit Oracle Client library cannot be loaded: "D:\app\xyg\product\11.2.0\client_1\bin\oci.dll is not the correct architect

windows下用Python連線mysql問題“MySQLdb in Python: “Can't connect to MySQL server on 'localhost'””

""" __author__ = 'chenguolin' __date__=2014-02-17 """ import MySQLdb db = MySQLdb.connect(host="

安裝impalapython-setuptools is needed by impala-kudu-shell-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86

安裝impala的rpm -ivh impala-kudu-shell-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86_64.rpm報錯 [[email protected] soft]# rpm -ivh impala-ku

Python——pip安裝:is not a supported wheel on this platform

它的 form pytho 可能 通過 one 令行 div 版本 pip安裝報錯:is not a supported wheel on this platform 可能的原因1:安裝的不是對應python版本的庫,下載的庫名中cp35代表python3.5,其它同理。

解決python編碼問題:'ascii' codec can't encode characters in position 0-15: ordinal not in range(128)

服務 encode 正常 數據庫 cte def ascii char utf 這個問題很奇怪,在服務器上執行一個寫數據庫的python文件,正常執行,但是使用java的ssh進行調用腳本,發現就是不執行數據庫的寫入,然後使用了try except的方式,打印了錯誤信息,發

python 首次安裝

blank amp content 學習 但是 版本 .net tails image 最近python很火,想在空余時間學習一波,但是安裝完Python後運行發現居然報錯了,錯誤代碼是0xc000007b,於是通過往上查找發現是因為首次安裝Python缺乏VC++庫的原

解決python2安裝MySQL-python模塊

all class pypi 進入 AC mysql red con osi 今天電腦重裝系統,所有軟件都重裝一遍,MySQLdb模塊一直裝不好,糾結了好久,終於解決,方法分享給大家。 MySQLdb模塊安裝: 1、下載MySQL-pyhon模塊,網站為:https://p

python 啟動shell Subprocess Startup Error

如圖所示 python安裝 size 分享 bsp sub In 沖突 靠譜 如圖所示啟動python的IDLE以後,按F5啟動module或者啟動shell的時候就會啟動失敗提示上面錯誤,剛開始百度知道解決方案不靠譜,最後找到原因是我之前看小甲魚的教學視頻時,新建了

python import win32clipboard DLL load failed: %1 不是有效的 Win32 應用程序。

spa 引入 導致 call 時報 ack 機器 nbsp most 在python中引入win32clipboard時報錯,DLL load failed: %1 不是有效的 Win32 應用程序 >>> import win32clipboar

mac下python環境pip[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) 的解決方法

install oot cert get ping trap rmi ssl cert macbook 1.mac下python環境pip報錯: issuserdeMacBook-Pro:~ issuser$ pip install pyinstallerCollecti

爬蟲學習之-python插入mysql

語句 mysql報錯 cal character 通過 tle port utf nco 異常:‘latin-1‘ codec can‘t encode characters in position 62-66: ordinal not in range(256) 用P

python pip安裝python setup.py egg_info failed with error code 1

setup all get setup.py target pip升級 升級 col python版本 安裝locust遇到點問題折騰了好一會兒,記錄一下。 使用命令pip install locustio提示python setup.py egg_info failed

windows平臺python安裝mysqlclient"Microsoft Visual C++ 14.0 is required"的解決方案

err tool sta www. 方案 技術 sql build ont windows平臺直接用 pip install mysqlclient 命令安裝報錯: error: Microsoft Visual C++ 14.0 is required. Get it

連線Mysqllost connection to MySQL server at "waiting for initial communication packet

打開了3306埠,設定了user表host為'%',依然無法連線,telnet 3306埠不同,原因是配置檔案中設定了 bind-address: 127.0.0.1,(/etc/mysql/mysql.conf.d/sqld.cnf )把他註釋掉,埠能連上,但是又報下面的錯誤 lost conn

Python建立檔案OSError:[Errno 22] Invalid argument處理

問題:   windows平臺下使用python open函式w模式開啟檔案報錯“OSError: [Errno 22] Invalid argument: '../news/“消費升維”成零售業新風口?渠道多元同步跟進.txt'”   解決:   本來猜測是轉義

使用cmd執行Java中文問號,Python列印直接的原因和解決

Python列印報錯的一個原因 當使用Python寫程式碼出現中文時,若只是亂碼那還好處理,開頭加 #-*- coding=utf-8 -*- 並且所有編碼一致,網上有很多案例。 有一天我在整一個線上寫爬蟲程式碼的專案時,建立Python專案並書寫程式碼使用cmd執行時,列印中

連線rabbitmq com.rabbitmq.client.ShutdownSignalException: connection error

ConnectionFactory factory = new ConnectionFactory(); // 連線IP factory.setHost("127.0.0.1"); // 預設監聽埠 factory.se

Python:匯入numpy No module named numpy

  Numpy是python的一種開源的數值計算擴充套件。這種工具可用來儲存和處理大型矩陣,比python自身的巢狀列表結構要高效的多。但是在使用numpy時可能會出錯(如上圖)。 解決辦法:下載安裝對應版本的numpy程式,       學習並轉載

redhat7.0系統配置lamp環境,Navicat遠端連線mysql:2003-can't connect to mysql server on ' ' (10060)解決方案

報錯:2003-can't connect to mysql server on ' ' (10060) 一、分析原因: 防火牆關閉了mysql服務,禁止遠端訪問mysql 二、解決方法: 關閉防火牆: systemctl stop firewalld.service   &nb