OK,本文来看看本地在PyCharm中使用pyhive连接hive数据库时踩过的坑吧,先看看一眼小编的测试代码~

首先是封装了一个连接hive获取数据的类,因为是测试,所以写的简单了些,如下:

'''
@File  : sql.py
@Author: xzw
@Date  : 2020/6/14
@Desc  : 封装类
'''from pyhive import hive
import pandas as pdclass TestHive(object):'''连接Hive获取数据'''def __init__(self, host, port, username, database):'''初始化方法:param host: 地址:param port: 端口号:param username: 用户名:param database: 数据库名称'''self.conn = hive.Connection(host=host, port=port, username=username, database=database)def get_data(self, sql):'''获取数据:param sql: SQL语句:return: 返回得到的数据'''data = pd.read_sql(sql, self.conn)return data

然后是测试类:

'''
@File  : manager.py
@Author: xzw
@Date  : 2020/6/14
@Desc  : 访问Hive获取数据
'''from connect_hive.sql import TestHive
from fastapi import FastAPI
import uvicornapp = FastAPI()@app.get("/get_hive_data")
def get_data():'''获取hive中的数据:return:'''host, port, username, database = 'cdh-master', 10000, 'hive', 'test'instance = TestHive(host, port, username, database)result = instance.get_data("select * from xzw")return {"result": result}if __name__ == '__main__':uvicorn.run(app="manager:app", host="127.0.0.1", port=9999, reload=True, debug=True)

上面就是整个过程的简单代码,想象着很快就能拿到hive中的数据了,然后……坑来了~

     第一个坑:

thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'

解决办法是在Connection中添加auth="NOSASL":

self.conn = hive.Connection(host=host, port=port, username=username, database=database, auth="NOSASL")

   第二个坑:

Connection Issue: thrift.transport.TTransport.TTransportException: TSocket read 0 bytes

解决办法是在hive-site.xml中增加下面属性:

<property><name>hive.server2.authentication</name><value>NOSASL</value>
</property>

当然,小编使用的是CDH搭建的集群,直接在监控界面配置即可,如下所示:

【pyhive】本地使用pyhive连接hive数据库踩的坑相关推荐

  1. 原生JDBC连接MySQL数据库踩的坑

    前几天被一个项目对接要搞死了,搞了好几天,各种方法去试.各种百度去搜.各个门道去问,最终终于解决了心头一缕缕思愁!!!

  2. windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法

    windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法 参考文章: (1)windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法 (2)https://www. ...

  3. python操作hive数据库代码_windows下怎么用python连接hive数据库

    展开全部 由于版本的不同,Python 连接 Hive 的方式也就不一样. 在网上搜索关键字 python hive 的时候可以找到一些解决方案.大部分是这3231313335323631343130 ...

  4. python访问hive数据库踩坑指南

    最近做数据ETL系统的更新,需要将原有ETL任务迁移到新的系统中,并验证数据的准确性. 目录 安装依赖包 核心代码 遇到的坑 依赖包版本 安装依赖包 因为本人电脑是win本,所以只能使用impyla连 ...

  5. 使用Tableau连接Hive数据库

    转载于:如何安装Tableau并连接CDH的Hive/Impala - 云+社区 - 腾讯云 1.文档编写目的 Tableau是桌面系统中的商业智能工具软件,可以基于不同的数据源生成漂亮的图表.Clo ...

  6. mssql 远程无法连接mysql_在本地 怎么远程连接MSSQL数据库

    hp连接mssql数据库有几个注意事项,尤其mssql的多个版本.32位.64位都有区别. 首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=p ...

  7. AndroidStudio通过JDBC连接MySQL数据库六大巨坑

    文章目录 注意 基础 Androidstudio通过JDBC连接数据库巨坑介绍(这里呢,我使用我所做项目的修改密码界面来做介绍) 1.网络权限问题(打不开apk) 2.jar包问题(找不到driver ...

  8. Java连接Access数据库的那些坑

    Java 使用 JDBC 连接Access数据库 需要掌握的技能 1.Java SE基本技术 2.懂点JDBC技术 能够学到如何使用Java正确的连接JDBC 环境 window8.1 64位 jdk ...

  9. 大数据学习-python通过Pyhive连接hive数据库

    1.hbase和hive结合 (1)hbase建表添加数据 #test是表名,name是列族 #hbase可以一个列族里边多个字段 create 'test','name'#添加数据 put 'tes ...

  10. shell 创建表 连接db2_大数据技术之SparkSQL(七)连接Hive数据库

    Apache Hive是Hadoop上的SQL引擎,Spark SQL编译时可以包含Hive支持,也可以不包含.包含Hive支持的Spark SQL可以支持Hive表访问.UDF(用户自定义函数)以及 ...

最新文章

  1. jittor和pytorch生成网络对比之cgan
  2. Web 开发中很实用的10个效果【附源码下载】
  3. hdu 3987(最小割的边数)
  4. 【数据竞赛】盘点Kaggle中常见的AutoEDA工具库
  5. 农历控件源码(C#)
  6. 小红书shield算法分析
  7. linux下devel包的作用
  8. Linked List Cycle II - LeetCode
  9. lua cURL使用笔记
  10. android各版本市场占有率报告,你用的是哪个版本 Android系统报告:果冻豆市占率升至62%...
  11. Android 通过软引用实现图片缓存,防止内存溢出
  12. sh执行文件 参数传递_shell中脚本参数传递的两种方式
  13. PCL_点云数据处理方法概述
  14. ASP.net开发实践系列视频教程(总共53课) 天轰穿新的视频
  15. 陕西中医药有计算机系吗,校内制度 - 陕西中医药大学信息化建设管理处
  16. 2020中青杯本科题目学习
  17. 使用破解包激活MyEclipse 2018
  18. 基于STM32的0.96寸OLED显示屏显示数据
  19. 区块链测试网服务发布
  20. 进军元宇宙,Akutars是什么来头?首发与众多知名潮牌联名

热门文章

  1. 软件需求说明书(GB856T—88)
  2. 地市级地铁数据管理信息系统解决方案
  3. 全国计算机等级考试3月份报名时间,2021年3月全国计算机等级考试报名时间公布...
  4. 医用计算机考试题目,2015年全国计算机应医用能力考试辅导资料.doc
  5. java 对象转json忽略某个属性
  6. 几种代码管理工具比较
  7. xp计算机考试资源管理,职称计算机WindowsXP必备考点:资源管理器
  8. python植物大战僵尸代码
  9. cnn程序流程图_深度学习(一)——CNN算法流程
  10. 专业测评:5款热门的免费报表软件