Python 连接hive(Linux)

Python 连接hive(Linux),第1张

之所以选择基于Linux系统用Python连接hive,是因为在window下会出现Hadoop认证失败的问题。会出现执行python脚本的机器无目标hive的kerberos认证信息类似错误,也会出现sasl调用问题:

该错误我尝试多次,未能解决(有知道window下解决方案的欢迎留言),所以建议使用Linux系统。

VMware Workstation +Ubuntu

网上教程很多,本文推荐一个教程: https://blog.csdn.net/stpeace/article/details/78598333

主要是以下四个包:

在安装包sasl的过程会出现麻烦,主要是Ubuntu中缺乏sasl.h的问题,这里可以通过下面语句解决

这和centos有一些区别。

本文是基于本机虚拟机用Python连接的公司测试环境的hive(生产环境和测试环境是有隔离的,生产环境需要堡垒机才能连接)

因缺乏工程和计算机基础的知识,对很多的地方都了解的不够深入,欢迎大神指点,最后向以下两位大佬的帖子致谢:

[1] https://www.zhihu.com/question/269333988/answer/581126392

[2] https://mp.weixin.qq.com/s/cdFxkphMtJASQ7-nKt13mg

调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/child(假设你配置文件中的默认值是namenode:namenodeport)。大多数FS Shell命令的行为和对应的Unix Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。 cat 使用方法:hadoop fs -cat URI [URI …] 将路径指定文件的内容输出到stdout。 示例: hadoop fs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2 hadoop fs -cat file:///file3 /user/hadoop/file4 返回值


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8324934.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存