我面临一个问题:我无法使用spark submit从spark访问配置单元表,而我可以使用pyspark shell。下面是一段代码:
from pyspark.sql import SparkSession, HiveContext
spark = SparkSession \
.builder \
.appName("Python Spark SQL Hive integration example") \
.enableHiveSupport() \
.getOrCreate()
spark.sql("SHOW TABLES").show()
以下是pyspark(shell)的结果:
+--------+-------------+-----------+
|database| tableName|isTemporary|
+--------+-------------+-----------+
| default| table1| false|
| default| table2| false|
+--------+-------------+-----------+
以下是spark submit的结果:
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
+--------+---------+-----------+
我尝试将spark conf目录添加到类路径,使用hive-site.xml添加“--files”,还尝试使用hivecontext,得到了相同的结果。我试过scala:同样的结果。
编辑:我没有连接到远程配置单元服务器,但在同一个服务器上
1条答案
按热度按时间gopyfrb31#
解决方案:我在.py文件中使用了一些udf(用户定义函数)。出于某种原因,我认为这是在创造一个环境,而我没有使用正确的环境。现在可以了。