Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >0473-如何使用Python3访问Kerberos环境的Hive和Impala

0473-如何使用Python3访问Kerberos环境的Hive和Impala

作者头像
Fayson
发布于 2018-12-24 08:41:00
发布于 2018-12-24 08:41:00
3.6K00
代码可运行
举报
文章被收录于专栏:Hadoop实操Hadoop实操
运行总次数:0
代码可运行

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1

文档编写目的

随着Hadoop平台的流行,越来越多的开发语言访问Hadoop平台的组件,比较常见的Java、Scala、Python、R等。在前面的多篇文章中Fayson介绍了Java和Scala访问Hadoop各个组件的方法。对于偏分析类的Python和R语言访问集群的Hive和Impala比较多。本篇文章Fayson主要介绍如何使用Python3访问Kerberos环境的Hive和Impala。

  • 测试环境

1.RedHat7.2

2.CM和CDH版本为5.15.0

3.Python3.6

2

Python环境准备

Python访问Hive和Impala需要安装Python的客户端,Cloudera提供的Impyla包提供了基于JDBC的方式访问Kerberos、LDAP、SSL环境的Hive和Impala。Impyla包支持2.6+或3.3+的Python版本,接下来在我们的环境安装impyla及其依赖包。

1.创建requirements.txt文件,内容如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@cdh1 python_code]# vim requirements.txt
six
bit_array
thrift
thrift_sasl==0.2.1
impyla

2.在命令行执行如下命令安装python包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@cdh1 python_code]# /opt/cloudera/anaconda3/bin/pip3 install -r requirements.txt 

3

Python访问Hive示例

1.编写Python访问Hive示例代码,内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from impala.dbapi import connect
#获取Connect对象
conn = connect(host='cdh2.fayson.com',port=10000,database='default',auth_mechanism='GSSAPI',kerberos_service_name='hive')
print(conn)

cursor = conn.cursor()
cursor.execute('show databases')
print (cursor.description)  # prints the result set's schema
results = cursor.fetchall()
print(results)

2.在命令行进行kinit操作

3.使用python命令运行impyla_hive.py文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@cdh1 python_code]# /opt/cloudera/anaconda3/bin/python impyla_hive.py 

4

Python访问Impala示例

1.编写Python访问Impala示例代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from impala.dbapi import connect
conn = connect(host='cdh1.fayson.com',port=25004,database='default',auth_mechanism='GSSAPI',kerberos_service_name='impala')
print(conn)
cursor = conn.cursor()
cursor.execute('show databases')
print (cursor.description)  # prints the result set's schema
results = cursor.fetchall()
print(results)

2.在命令行进行kinit操作

3.在命令行进行kinit操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@cdh1 python_code]# /opt/cloudera/anaconda3/bin/python impyla_impala.py

5

总结

1.Python代码访问Hive和Impala需要安装客户端工具Impyla

2.Impyla支持Kerberos、LDAP和SSL各种安全环境的Hive和Impala

3.在示例中Fayson的Impala端口号与默认不一致,配置了Impala的HAProxy原因。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python3通过JDBC访问非Kerberos环境的Impala
在前面Fayson介绍了在Python2的环境下《如何使用Python Impyla客户端连接Hive和Impala》及《Python3环境通过JDBC访问非Kerberos环境的Hive》,本篇文章Fayson在Python3的环境下使用Impyla访问非Kerberos环境下的Impala以及将获取到的结果集转换为Pandas的DataFrame。
Fayson
2018/08/03
1.3K0
Python3通过JDBC访问非Kerberos环境的Impala
Python3环境通过JDBC访问非Kerberos环境的Hive
在前面Fayson介绍了在Python2的环境下《如何使用Python Impyla客户端连接Hive和Impala》,本篇文章Fayson主要介绍在Python3的环境下使用Impyla访问非Kerberos环境下的Hive以及将获取到的结果集转换为Pandas的DataFrame。
Fayson
2018/08/03
1K0
Python3环境通过JDBC访问非Kerberos环境的Hive
0552-5.15.0-同一OS用户下不同Kerberos用户执行脚本Principal串掉问题分析
在集群启用Kerberos后,使用同一个OS用户在客户端并发调度Python代码获取Hive数据(代码中使用不同的kerberos用户kinit),会出现两个作业的认证混乱获取到的票据串掉。本文Fayson主要分析Kerberos环境同一OS用户下并发执行不同身份认证的Python代码会导致Principal串掉问题解决。
Fayson
2019/11/28
1.1K0
如何使用Python Impyla客户端连接Hive和Impala
继上一章讲述如何在CDH集群安装Anaconda&搭建Python私有源后,本章节主要讲述如何使用Pyton Impyla客户端连接CDH集群的HiveServer2和Impala Daemon,并进行SQL操作。
Fayson
2018/03/29
10.9K0
如何使用Python Impyla客户端连接Hive和Impala
如何在CDH5.16.2中安装Python Impyla
文档编写目的 整理CDH5中安装Impyla的步骤 集群环境 CDH5.16.2 anaconda3 python3.7 组件介绍 Impyla:适用于分布式查询引擎的HiveServer2实现(例如Impala,Hive)的Python客户端。 Impyla依赖包 six bit_array thriftpy thrift_sasl sasl 安装依赖 安装thrift_sasl需要先执行,否则安装会提示缺少sasl.h文件 yum install gcc-c++ python-devel.x86_
Eights
2020/07/10
1K0
如何在CDH5.16.2中安装Python Impyla
0512-使用Python访问Kerberos环境下的HDFS
随着Hadoop平台的普及和Python语言的流行,使用Python语言访问操作HDFS的需要,Python也提供了多个访问HDFS的依赖包(如:pyhdfs、HdfsCLI、pywhdfs),这些依赖包都是通过API的方式与HDFS进行交互。本篇文章Fayson主要介绍使用pywhdfs访问Kerberos环境下的HDFS。
Fayson
2019/11/27
2.1K0
Python操作Hive的两种方法总结
安装依赖包:其中sasl安装可能会报错,可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl下载对应版本安装。
py3study
2020/01/06
7.3K0
0501-使用Python访问Kerberos环境下的Kafka(二)
在前面的文章Fayson介绍了一种Python访问Kerberos环境下Kafka的文章,参考《0500-使用Python2访问Kerberos环境下的Kafka》,本篇文章主要介绍另一种方式访问Kerberos环境下的Kafka。
Fayson
2019/11/28
1.8K0
0469-如何使用DBeaver访问Kerberos环境下的Impala
在前面Fayson的文章《Hadoop SQL客户端工具之Dbeaver安装及使用》和《0468-如何使用DBeaver访问Kerberos环境下的Hive》。本篇文章Fayson主要介绍如何使用DBeaver访问Kerberos环境下的Impala。
Fayson
2018/12/24
2.7K0
Win10系统Python3连接Hive配置
由于数据存放在大数据平台的Hive数据仓库中,我需要在Win10系统上利用Python3连接Hive,然后读取数据,进行探索、分析和挖掘工作。
陆勤_数据人网
2020/02/26
1.3K0
0468-如何使用DBeaver访问Kerberos环境下的Hive
在前面Fayson的文章《Hadoop SQL客户端工具之Dbeaver安装及使用》介绍了DBeaver的安装以及访问非Kerberos环境下的Hive。本篇文章Fayson主要介绍如何使用DBeaver访问Kerberos环境下的Hive。
Fayson
2018/12/24
5.4K0
如何通过Tableau连接Kerberos的Hive/Impala
昨天Fayson写了一篇《如何安装Tableau并连接CDH的Hive/Impala》,后台关注人数当天增加了40人,有点大大超过Fayson的预期,首先还是谢谢各位关注Fayson的人。
Fayson
2018/03/29
6.5K0
如何通过Tableau连接Kerberos的Hive/Impala
0465-如何使用SQuirreL访问Kerberos环境下的Hive
在前面Fayson的文章《0459-如何使用SQuirreL通过JDBC连接CDH的Hive(方式一)》和《0463-如何使用SQuirreL通过JDBC连接CDH的Hive(方式二)》介绍了SQuirreL的安装以及使用原生和Cloudera提供的JDBC 驱动访问Hive。本篇文章Fayson主要介绍如何使用Cloudera提供的Hive JDBC驱动访问Kerberos环境下的Hive,为什么不讲原生的JDBC驱动,因为Fayson也没有调通。
Fayson
2018/12/21
1.3K0
0465-如何使用SQuirreL访问Kerberos环境下的Hive
Python连接impala并获取数据
1、下载并安装Python package:impyla-0.14.0.tar.gz
py3study
2020/01/09
2.9K0
Python之大数据库hive实战
今天和大家分享的是Python如何连接hive数据库来进行hivesql的查询操作。
Wu_Candy
2022/07/04
1.3K0
Python之大数据库hive实战
在python3.6上访问impala数据库
http://blog.csdn.net/faith_mo_blog/article/details/46985287 https://stackoverflow.com/questions/32338006/write-pandas-table-to-impala
py3study
2020/01/10
5910
如何在Kerberos环境下修改启用HA的CDH集群HOSTNAME
Fayson在前面的文章《如何修改Kerberos的CDH集群的HOSTNAME》介绍了修改集群的HOSTNAME,在文章中并未提到集群启用HA的情况,本篇文章Fayson主要介绍在Kerberos环境下启用HA的CDH集群修改HOSTNAME。
Fayson
2018/11/16
6690
0474-如何使用SQL Developer访问Hive
Fayson在前面的文章也介绍了几款SQL客户端工具用来访问CDH集群的Hive和Impala,本篇文章Fayson再介绍一款Oracle的SQL客户端工具SQL Developer,使用该工具访问Kerberos环境下的Hive。
Fayson
2018/12/24
1.6K0
0474-如何使用SQL Developer访问Hive
如何在CDH集群外配置Kerberos环境的Gateway节点
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章Fayson介绍了《如何在CDH集群外配置非Kerberos环境的Gateway节点》,本篇文章主要介绍如何在CDH集群外配置Kerberos环境的Gateway节点。 内容概述 1.部署环境说明 2.部署Gateway节点及测试 3.总结 测试环境 1.CM和CDH
Fayson
2018/07/12
1.9K0
0500-使用Python2访问Kerberos环境下的Kafka
Kafka支持多种客户端语言(C/C++、Go、Java、JMS、.NET、Python)。Fayson在前面多篇文章介绍了Java访问Kerberos和非Kerberos环境下的Kafka,参考《如何使用Java连接Kerberos的Kafka》。本篇文章Fayson主要介绍使用Python2访问Kerberos环境下的Kafka。在学习本篇文章内容前你还需要知道《如何通过Cloudera Manager为Kafka启用Kerberos及使用》。
Fayson
2019/11/27
1.1K0
相关推荐
Python3通过JDBC访问非Kerberos环境的Impala
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验