在Windows上使用Pyspark连接到配置单元元存储(使用Kerberos身份验证)

2024-06-01 08:06:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Windows10中使用Pyspark通过Kerberos身份验证连接到配置单元数据库。到目前为止,我已经完成了以下工作:

(1)设置环境变量: SPARK_HOME=C:\SPARK HADOOP_HOME=C:\spark\HADOOP 将C:\spark\bin添加到路径变量中 MAVEN_HOME=C:\apache-MAVEN-3.3.9

(2)保存了蜂箱-站点.xmlC:\spark\conf中的文件

(3)为spark(hadoop 2.7)使用的hadoop版本下载了二进制文件(https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1),我把这些文件保存在hadoop_HOME\bin中

(4)我运行了以下命令:winutils.exe-R 777 C:\tmp\hive

(5)我运行kinit命令来获取Kerberos票证。然后我运行:

from pyspark import SparkCOntext, SparkConf
sparkSession =SparkSession.builder.enableHiveSupport().getOrCreate()
d_load = sparkSession.sql("select count(*) from table")

运行此程序后,我收到错误消息:

“。。。在

^{pr2}$
  • 你能帮我弄清楚为什么我会出错吗?有没有办法让我确保pyspark在读蜂箱-站点.xml文件?我读到我可能还需要为KRB5_kname添加一个变量,但是我没有keytab文件——有人知道我该如何设置它吗?

  • 另外,我在一个帖子中读到我必须将二进制文件保存在SPARK_HOME\bin文件夹中(除了HADOOP_HOME),但是它们与我下载并保存在HADOOP_HOME\bin中的文件相同。在这里做什么是正确的?二进制文件是什么/winutils.exe在HADOOP\u HOME\bin和SPARK\u HOME\bin中的文件?(我读过一些相互矛盾的版本。)

非常感谢你的帮助!!在


Tags: 文件命令版本hadoophomebin站点二进制