当前位置: 首页 > news >正文

python连接hive报错:TypeError: can‘t concat str to bytes

目录

一、完整报错

二、解决

三、 其他报错

四、impala方式连接hive


或者直接使用 pip install pyhive[hive] 安装。需要先 pip uninstall pyhive。

一、完整报错

Traceback (most recent call last):
  File "D:/Gitlab/my_world/hive2csv.py", line 18, in <module>
    conn = hive.Connection(host=host, port=port, username=username, password=password, database=database, auth=auth)
  File "D:\Anaconda3\lib\site-packages\pyhive\hive.py", line 269, in __init__
    self._transport.open()
  File "D:\Anaconda3\lib\site-packages\thrift_sasl\__init__.py", line 82, in open
    self._send_message(self.START, chosen_mech)
  File "D:\Anaconda3\lib\site-packages\thrift_sasl\__init__.py", line 103, in _send_message
    self._trans.write(header + body)
TypeError: can't concat str to bytes

二、解决

        2.1、进入D:\Anaconda3\lib\site-packages\thrift_sasl\__init__.py文件

        2.2、添加如下代码到第101行之前

if (type(body) is str):body = body.encode()
2.2,修改后情况

        然后就可以运行了。

三、 其他报错

        报错:AttributeError: 'TSaslClientTransport' object has no attribute 'readAll'

        解决:pip install thrift_sasl==0.3.0

其他报错可以参考文章:python连接hive

四、impala方式连接hive

        4.1、依赖包

pip install six bit_array thrift thrift_sasl sqlalchemy impyla -i https://pypi.tuna.tsinghua.edu.cn/simple

        4.2、代码

from impala.dbapi import connectconn = connect(host=host,port=port,user=username,password=password,auth_mechanism=auth,database=database)
def get_sql_result(sql):# 鎵ц鏌ヨ骞惰幏鍙栫粨鏋?    cursor = conn.cursor()cursor.execute(sql)result = cursor.fetchall()columns = [desc[0] for desc in cursor.description]return result,columnsif __name__ == '__main__':hive_sql = 'show databases'result,columns = get_sql_result(hive_sql)df = pd.DataFrame(result,columns=columns)

 

http://www.lryc.cn/news/237896.html

相关文章:

  • 虹科示波器 | 汽车免拆检修 | 2015款奔驰G63AMG车发动机偶尔自动熄火
  • 10 Redis的持久化
  • 【Linux入侵日志排查】
  • 从哪些方面分析Linux内核源码
  • C#WPF数据模板应用实例
  • ansible练习题1
  • 六大排序详讲(直接插入排序+希尔排序+选择排序+堆排序+冒泡排序+快速排序)
  • Clickhouse初认识
  • 网络安全项目简介
  • CSDN每日一题学习训练——Python版(N皇后 II、买卖股票的最佳时机 II、编程通过键盘输入每一位运动员)
  • semodule工具详解(1)
  • 用百度AI大模型给头像换风格
  • 从入门到精通,mac电脑录屏软件使用教程!
  • Nginx(反向代理,负载均衡,动静分离)
  • 【Spring】SpringBoot的扩展点之ApplicationContextInitializer
  • 哈希表HashTable
  • 【软件测试】一位优秀测试工程师具备哪些知识和经验?
  • MongoDB相关基础操作(库、集合、文档)
  • 进程和线程( Process and Thread)
  • linux apache安装及虚拟主机配置
  • 基于Spring Boot 框架的试卷自动生成系统的设计与实现
  • 开发《猫咪攻略》小游戏的意义
  • hadoop、hive、DBeaver的环境搭建及使用
  • Linux上通过SSL/TLS和start tls连接到LDAP服务器(附C++代码实现认证流程)
  • HarmonyOS ArkTS List组件和Grid组件的使用(五)
  • 考研思想政治理论大纲
  • 日期格式转化成星期几部署到linux显示英文
  • 一个关于proto 文件的经验分享 :gRPC 跨语言双端通信显示错误码:12 UNIMPLEMENTED (附赠gRPC错误码表)
  • 腾讯极光盒子A4021增强版_线刷官方
  • 机器学习第11天:降维