python 向hive传入数据

第一章:python连接hive步骤1.1 python连接impala步骤pip install impyla 不能成功连接python impyla需要依赖其他库才能够安装成功,以下是其他库的安装顺序依次按照以下步骤来执行pip install pure-saslpip install thrift_sasl0.2.1–no-depspip install thrift0.9....
摘要由CSDN通过智能技术生成

第一章:python连接hive步骤

1.1 python连接impala步骤

pip install impyla 不能成功连接python impyla需要依赖其他库才能够安装成功,以下是其他库的安装顺序

依次按照以下步骤来执行
pip install pure-sasl
pip install thrift_sasl0.2.1–no-deps
pip install thrift
0.9.3
pip install impyla
这里是引用

1.2 安装过程中可能存在的报错

报错一:‘TSocket’ object has no attribute ‘isOpen’

解决办法:
1.由于是thrift-sasl的版本太高了(0.3.0),故将thrift-sasl的版本降级到0.2.1 pip install thrift-sasl=0.2.1
2.pip需要升级 python -m pip install --upgrade pip
3.pip install thrift-sasl=0.2.1 安装失败 https://www.lfd.uci.edu/~gohlke/pythonlibs/#thrift 在这个网站按照报错来下载文件 然后用 pip install +存储位置+文件名

thriftpy.transport.TTransportException: TTransportException(type=1, message=“Could not start SASL: b’Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2’”)

解决办法:
1.这个报错是由于sasl和pure 不兼容导致的 解决办法: pip uninstall sasl
2.impyla 是使用pure-sasl , pyhive 使用sasl ,两者不兼容,所以不能同时存在
3.注意:需要删除干净

1.3 测试连接hive

测试python连接hive是否成功

from impala.dbapi import connect 
from impala.util import as_pandas
db=connect(host='',port=,user='',password='',database='',auth_mechanism='')
cr=db.cursor()
df1=cr.fetchall()

可能会存在的报错:

•TypeError: can't concat str to bytes
header = struct.pack(">BI", status, len(body))
self._trans.write(header + body)

以上报错修改为:

header = struct.pack(">BI", status,
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值