Python 3 使用Hive 总结

news2024/12/23 8:21:06

启动HiveServer2 服务

HiveServer2 是一种可选的 Hive 内置服务,可以允许远程客户端使用不同编程语言向 Hive 提交请求并返回结果。

Thrift服务配置

假设我们已经成功安装了 Hive,如果没有安装,请参考:Hive 一文读懂 。在启动 HiveServer2 之前,我们需要先进行一些配置:

配置项

默认值

说明

hive.server2.transport.mode

binary

HiveServer2 的传输模式,binary或者http

hive.server2.thrift.port

10000

HiveServer2 传输模式设置为 binary 时,Thrift 接口的端口号

hive.server2.thrift.http.port

10001

HiveServer2 传输模式设置为 http 时,Thrift 接口的端口号

hive.server2.thrift.bind.host

localhost

Thrift服务绑定的主机

hive.server2.thrift.min.worker.threads

5

Thrift最小工作线程数

hive.server2.thrift.max.worker.threads

500

Thrift最大工作线程数

hive.server2.authentication

NONE

客户端认证类型,NONE、LDAP、KERBEROS、CUSTOM、PAM、NOSASL

hive.server2.thrift.client.user

anonymous

Thrift 客户端用户名

hive.server2.thrift.client.password

anonymous

Thrift 客户端密码

启动HiveServer2 服务 

方式一:$HIVE_HOME/bin/hiveserver2 

[root@Hadoop3-master bin]# hiveserver2
2023-08-16 23:14:00: Starting HiveServer2
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-reload4j-1.7.35.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive Session ID = 0ba8eb07-5f63-43a1-aa4d-61954f6e244f

方式二:$HIVE_HOME/bin/hive --service hiveserver2

检查 HiveServer2 是否启动成功

netstat -nl | grep 10000

启动 hiveserver2 ,访问Hive 管理平台

默认访问地址:http://192.168.43.11:10002/

效果截图:

Python 连接Hive

依赖的第三方库包 

pip install sasl
pip install thrift
pip install thrift-sasl
pip install PyHive

温馨提示:首先是pyhive的安装:pyhive这个包依 赖于sasl,thrift,thrift-sasl这三个包。

安装Sasl 库表包遇到的问题 

造成错误的原因是:

 saslwrapper.cpp
      C:\Users\zzg\AppData\Local\Temp\pip-install-1vw7hyr4\sasl_05859569d9c14648abbe3a8901ed3627\sasl\saslwrapper.h(22): fatal error C1083: 无法打开包括文件: “sasl/sasl.h”: No such file or directory

 saslwrapper.cpp 文件中无法找到sasl/sasl.h 头文件。

Google 和百度的解决办法

通过加利福利亚大学的的镜像地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl ,下载sasl.whl 文件。情况:现在的情况是网站已经被关闭。

通过清华大学的镜像地址:https://pypi.tuna.tsinghua.edu.cn/simple/sasl/ ,下载sasl.whl  文件。情况:没有Python-3.10 且支持windows 64 架构的库包。

 温馨提示:清华的镜像地址提供关于sasl.whl 内容主要包含:

  • 支持python-3.5.0 至python-3.9.0 版本且系统架构仅支持Linux 架构。
  • 提供sasl第三方库源码:支持0.1.1 至0.3.1

编译Sasl-0.3.1 源码,生成Sasl.whl 文件

通过清华镜像下载Sasl 源码,解压后的效果截图:

切换至Sasl  源码,执行指令:python setup.py bdist_wheel 

源码编译的错误与pip 安装sasl 库一样。

借鉴其他安装Sasl成功 

环境说明:

python版本为python 3.10

cp310:表示为python的版本,为python 3 10的

win_amd64:表示为驱动为windows 64位的驱动

对应sasl.whl 包 = sasl-0.3.1-cp310-cp310-win_amd64.whl

执行如下指令:

pip install  sasl-0.3.1-cp310-cp310-win_amd64.whl

安装thrift

pip install thrift

安装thrift_sasl

pip install thrift_sasl

 安装pyHive

pip install pyhive

Python 连接Hive 代码 

from pyhive import hive
 
# 读取数据
def select_pyhive(sql):
    # 创建hive连接
    conn = hive.Connection(host='192.168.43.11', port=10000, username='默认', database='user')
    cur = conn.cursor()
    try:
        #c = cur.fetchall()
        df = pd.read_sql(sql, conn)
        return df
    finally:
        if conn:
            conn.close()
 
sql = "show databases"
df = select_pyhive(sql)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/893984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP后台表SE16和SE16N修改后台表数据方法

SAP后台表SE16和SE16N修改后台表数据方法 SAP中直接修改表、视图的Tcode有SE16N和SM30。 一 . SE16N界面输入&SAP_EDIT 其中使用SE16N修改表需要先输入命令&SAP_EDIT,回车左下角显示激活SAP编辑功能后,就可以对相应的表进行新增、删除、修改的操作。 有…

剑指offer44.数字序列中某一位的数字

最后一道题,我一定要自己做出来,想了不到一个小时想法差不多成熟了,但是有一个小细节出问题了,这个问题我在idea上debug都没debug出来。我先讲我的题解然后再讲我这个小问题出在哪里吧。以下是我的代码: class Soluti…

基于.Net Core开发的医疗信息LIS系统源码

SaaS模式.Net Core版云LIS系统源码 医疗信息LIS系统是专为医院检验科设计的一套实验室信息管理系统,能将实验仪器与计算机组成网络,使病人样品登录、实验数据存取、报告审核、打印分发,实验数据统计分析等繁杂的操作过程实现了智能化、自动化…

Mac m1芯片基于parallesls desktop安装Ubuntu

1.Ubuntu镜像下载 访问Ubuntu官网自行选择版本进行下载,可进行以下操作进行版本选择 对于Mac系统,不论VM/PD都需要用arm架构镜像,所以点击arm架构的镜像进行下载 2.准备PD PD安装包: 链接:https://pan.quark.cn/s/46…

深入了解Maven

目录 一.Maven介绍与功能 二.依赖管理 1.依赖的配置 2.依赖的传递性 3.排除依赖 4.依赖的作用范围 一.Maven介绍与功能 maven是一个项目管理和构建工具,是基于对象模型POM实现。 Maven的作用: 便捷的依赖管理:使用Maven可以简化依赖管…

FPGA GTP全网最细讲解,aurora 8b/10b协议,HDMI板对板视频传输,提供2组4套工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、GTP 全网最细解读GTP 基本结构GTP 发送和接收处理流程GTP 的参考时钟GTP 发送接口GTP 接收接口GTP IP核调用和使用 4、设计思路框架HDMI输入视频配置及采集视频数据组包GTP aurora 8b/10b数据对齐视频数据解包图像…

四层和七层负载均衡的区别

一、四层负载均衡 四层就是ISO参考模型中的第四层。四层负载均衡器也称为四层交换机,它主要时通过分析IP层和TCP/UDP层的流量实现的基于“IP端口”的负载均衡。常见的基于四层的负载均衡器有LVS、F5等。 以常见的TCP应用为例,负载均衡器在接收到第一个来…

《HeadFirst设计模式(第二版)》第九章代码——组合模式

上一章链接: 《HeadFirst设计模式(第二版)》第九章代码——迭代器模式_轩下小酌的博客-CSDN博客 前面说到,当一个菜单里面出现了子菜单的时候,前面的迭代器模式得换成组合模式。 组合模式: 允许将对象组合成树形结构来表现部分-整…

PyTorch训练深度卷积生成对抗网络DCGAN

文章目录 DCGAN介绍代码结果参考 DCGAN介绍 将CNN和GAN结合起来,把监督学习和无监督学习结合起来。具体解释可以参见 深度卷积对抗生成网络(DCGAN) DCGAN的生成器结构: 图片来源:https://arxiv.org/abs/1511.06434 代码 model.py impor…

跨境电商平台风控揭秘:如何应对刷单风险?

跨境电商平台内部对比被举报的买家信息时,会进行一系列分析来确认是否存在刷评行为。系统会追溯买家的购买记录和留评记录,根据留评率等信息来判断是否存在刷评的行为。如果系统确认买家存在刷评行为,那么该买家曾经留下的所有评价都有可能被…

我国出租车行业的发展伪历史(依赖倒置)

一、前言 既然是“伪历史”,大家就暂且不要纠结故事的真实性了,因为我们今天主要讲的并非是中国出租车的发展史,而是希望通过这个伪历史的例子来用日常生活中的例子,来深入理解一下什么叫依赖倒置。 还是按照惯例,我…

【从零开始学习Linux】常用命令及操作

哈喽,哈喽,大家好~ 我是你们的老朋友:保护小周ღ 本期给大家带来的是 Linux 常用命令及操作,主要有三个分类:文件操作,目录操作,网络操作,创建文件 touch , 创建目录 mkdir , 删除…

【了解一下常见的设计模式】

文章目录 了解一下常用的设计模式(工厂、包装、关系)导语设计模式辨析系列 工厂篇工厂什么是工厂简单工厂「模式」(Simple Factory「Pattern」)简单工厂代码示例:简单计算器优点:缺点: 静态工厂模式特点: 工…

基于Spring Boot的社区诊所就医管理系统的设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的社区诊所就医管理系统的设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java …

改进YOLO系列:2.添加ShuffleAttention注意力机制

添加ShuffleAttention注意力机制 1. ShuffleAttention注意力机制论文2. ShuffleAttention注意力机制原理3. ShuffleAttention注意力机制的配置3.1common.py配置3.2yolo.py配置3.3yaml文件配置1. ShuffleAttention注意力机制论文 论文题目:SA-NET: SHUFFLE ATTENTION …

教育行业选择CRM的四大要求

随着互联网教育的发展和变迁,越来越多的教育机构开始意识到管理客户关系的重要性。然而,对于教育行业来说,选择一款适合自己的CRM系统也不轻松。下面就来说说,教育行业crm要如何来选择? 一、明确使用需求 在进行CRM选…

如何使用 ChatGPT 将文本转换为 PowerPoint 演示文稿

推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑的3D应用场景 步骤 1:将文本转换为幻灯片演示文稿 第一步涉及指示 ChatGPT 根据给定的文本生成具有特定数量幻灯片的演示文稿。首先,您必须向 ChatGPT 提供要转换的文本。 使用以下提示指示…

Gitlab服务部署及应用

目录 Gitlab简介 Gitlab工作原理 Gitlab服务构成 Gitlab环境部署 安装依赖包 启动postfix,并设置开机自启 设置防火墙 下载安装gitlab rpm包 修改配置文件/etc/gitlab/gitlab.rb,生产环境下可以根据需求修改 重新加载配置文件 浏览器登录Gitlab输…

Azure CLI 进行磁盘加密

什么是磁盘加密 磁盘加密是指在Azure中对虚拟机的磁盘进行加密保护的一种机制。它使用Azure Key Vault来保护磁盘上的数据,以防止未经授权的访问和数据泄露。使用磁盘加密,可以保护磁盘上的数据以满足安全和合规性要求。 参考文档:https://l…

职场修炼:性格内向的程序员如何突破自己

性格内向,不是缺点 社会常识中的看法:性格内心,是成功的障碍。 实际情况:内向和外向各有优缺点 忌讳: 强行改变自己的性格。内心不接受自己的性格。 内向者的优点 善于研究,能够较长时间研究技术问题…