温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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文件,内容如下
2.在命令行执行如下命令安装python包
3
Python访问Hive示例
1.编写Python访问Hive示例代码,内容如下:
2.在命令行进行kinit操作
3.使用python命令运行impyla_hive.py文件
4
Python访问Impala示例
1.编写Python访问Impala示例代码
2.在命令行进行kinit操作
3.在命令行进行kinit操作
5
总结
1.Python代码访问Hive和Impala需要安装客户端工具Impyla
2.Impyla支持Kerberos、LDAP和SSL各种安全环境的Hive和Impala
3.在示例中Fayson的Impala端口号与默认不一致,配置了Impala的HAProxy原因。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
领取专属 10元无门槛券
私享最新 技术干货