python 连接 hive 踩坑

本文详细介绍了使用Python连接Hive过程中遇到的常见问题及解决办法,包括Python环境配置、源码修改等内容,解决了如SASL错误和字符串类型转换等难题。
部署运行你感兴趣的模型镜像

python 连接 hive 踩坑

1.Python环境
python 3.6.5

pip install pure-sasl

pip install thrift_sasl==0.2.1 --no-deps

pip install thrift==0.9.3

pip install impyla
2.修改源码
错误:
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'")

解决办法:
主要原因其实还是因为sasl和pure-sasl有冲突,这种情况下,直接卸载sasl包就行了。

pip uninstall SASL
错误:
TypeError: can't concat str to bytes

解决办法:
定位 thrift_sasl/__init__.py 92行 修改为:
  def _send_message(self, status, body):
    header = struct.pack(">BI", status, len(body))
    if (type(body) is str):
      body = body.encode()
    self._trans.write(header + body)
    self._trans.flush()
参考博客 https://blog.youkuaiyun.com/wx0628/article/details/86550582

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值