【问题标题】:Access Hive tables from Spark从 Spark 访问 Hive 表
【发布时间】:2017-12-23 12:59:28
【问题描述】:

我面临一个问题:我无法使用 spark-submit 从 Spark 访问 Hive 表,而使用 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:结果相同。

编辑:我没有连接到远程 Hive 服务器,而是在同一个服务器上

【问题讨论】:

标签: python apache-spark hive pyspark


【解决方案1】:

找到解决方案: 我在我的 .py 文件中使用了一些 UDF(用户定义的函数)。出于某种原因,我认为它正在创建一个上下文,而我没有使用正确的上下文。现在可以正常使用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多