0
点赞
收藏
分享

微信扫一扫

sparksql select后插入自己 报错 Cannot overwrite a path that is also being read from

猎书客er 2023-04-23 阅读 52

问题现象

spark.version < 3.0.1 执行下面语句报错: Cannot overwrite a path that is also being read from ...

哪些情况算同时读写自己?

如果读自己和写自己在一个spark stage中,就算同时读写自己.

        spark.table("tb1")
            // 其他stransform
            .write.mode("overwrite")
            .insertInto("tb1")
//            .saveAsTable("tb1")

找到对应的jira单子

[SPARK-33982] Sparksql does not support when the inserted table is a read table - ASF JIRA

可以看到这个问题在spark3.0.1才解决.

所以 如果你的版本<3.0.1 请使用写入临时中间表,再读取中间表后写入,或者借助checkpoint打断链子;

如果你是从spark2升级到 spark3.0.1之后 请优化代码,剔除写入临时中间表的冗余操作.

spark3.3.2亲测可以

举报

相关推荐

0 条评论