【问题标题】:"spark.sql.execution.id is already set" exception on SparkSQLSparkSQL 上的“spark.sql.execution.id 已设置”异常
【发布时间】:2016-09-08 21:07:11
【问题描述】:

我在 hive 表上使用 spark-sql 时遇到了这个异常。当我的查询同时具有 WITH 和 INSERT 子句时,就会发生这种情况,即,如果我删除 WITH 子句或替换 INSERT,它就会起作用:

sql("WITH... SELECT...").write.parquet("/test/")

我在 CDH 5.7 上使用 spark 1.6.0,在 HD Insight 上使用 spark 1.6.1。

有什么想法吗?

同样的异常与here 相关,但出于其他原因。 存在与此异常 here 相关的票证。

【问题讨论】:

    标签: apache-spark apache-spark-sql


    【解决方案1】:

    当您尝试调用 sqlcontext(实际上是 hive 上下文)时,Spark 1.6.0 不支持公用表表达式(CTE),这就是您收到此错误的原因。请将您的 CTE 重写为常规查询。

    【讨论】:

    • 我不明白。那么为什么 sqlContext.sql("WITH... SELECT...").write.parquet("/test/") 工作?
    猜你喜欢
    • 1970-01-01
    • 2017-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    相关资源
    最近更新 更多