我通过使用conda和pip pyspark(就像我在这里演示的那样)从头开始构建并编写自己的PySpark环境,而不是使用可下载的Spark分发版中的PySpark。正如您可以在上面URL的第一个代码片段中看到的那样,我通过我的SparkSession启动脚本中的k/v conf-pairs等方式来实现这一点。(顺便说一句,这种方法使我能够在各种REPL、IDE和JUPYTER中进行工作)。
然而,关于配置支持访问HIVE数据库和元数据存储的Spark,手册中说道:
“通过将hive-site.xml、core-site.xml(用于安全配置)和hdfs-site.xml(用于HDFS配置)文件放置在conf/中来配置Hive。”
他们所说的
我猜这可以通过特别前缀的SparkConf K/V对来实现:
注意:
我将调整
谢谢。 :) 编辑:在解决方案提供后,我更新了上述第一个URL中的内容。现在它整合了下面讨论的
然而,关于配置支持访问HIVE数据库和元数据存储的Spark,手册中说道:
“通过将hive-site.xml、core-site.xml(用于安全配置)和hdfs-site.xml(用于HDFS配置)文件放置在conf/中来配置Hive。”
他们所说的
conf/
是指Spark发行包中的conf/
目录。但是,通过pip
和conda
安装的pyspark
自然没有那个目录,那么在这种情况下,如何将HIVE数据库和元数据存储支持插入到Spark中呢?我猜这可以通过特别前缀的SparkConf K/V对来实现:
spark.hadoop.*
(请参见这里);如果是这样,我仍然需要确定需要哪些HADOOP / HIVE / CORE指令。我想我会试错的。 :)注意:
.enableHiveSupport()
已经被包含在内。我将调整
spark.hadoop.*
K/V对,但如果有人知道如何立即完成此操作,请告诉我。谢谢。 :) 编辑:在解决方案提供后,我更新了上述第一个URL中的内容。现在它整合了下面讨论的
SPARK_CONF_DIR
和HADOOP_CONF_DIR
环境变量方法。
SPARK_CONF_DIR
;而且我同意您更喜欢使用以spark.hadoop.*
为前缀的键,而不是单独的Hadoop XML配置文件。我现在正在处理后者。感谢您在这个标记答案中确认了这一点。 - NYCeyes