spark写入数据报错

报错信息如下:

Exception in thread "main" org.apache.spark.sql.AnalysisException: Cannot overwrite table dwd.dim_user_info that is also being read from

at org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:720)

at org.apache.spark.sql.DataFrameWriter.saveAsTable(DataFrameWriter.scala:626)

at GS_1.task2$.writeDwdTable(task2.scala:103)

at GS_1.task2$.teast1(task2.scala:65)

at GS_1.task2$.main(task2.scala:109)

at GS_1.task2.main(task2.scala)

我的解决办法如下:

Scala 复制代码
    println("""这里有个报错:Exception in thread "main" org.apache.spark.sql.AnalysisException: Cannot overwrite table dwd.dim_user_info that is also being read from""")
    println("""读写同时报错,我的解决办法是,创建临时表b,删除原表a,表b创建表a,表a删除。""")
    frame.write.mode("overwrite").partitionBy("etl_date").saveAsTable(s"dwd.${dwdTableName}_B")   // 创建 B
    util.getSparkSession.sql(s"drop table dwd.${dwdTableName}")   // 删除 A
    util.getSparkSession.sql(s"select * from dwd.${dwdTableName}_B").write.mode("overwrite").partitionBy("etl_date").saveAsTable(s"dwd.${dwdTableName}")  // 复制B创建A
    util.getSparkSession.sql(s"drop table dwd.${dwdTableName}_B")   // 删除 B
相关推荐
sysinside10 分钟前
Elasticsearch 9.2 发布 - 分布式搜索和分析引擎
大数据·分布式·elasticsearch
kkce13 分钟前
vsping 推出海外检测节点的核心目的
大数据·网络·人工智能
Jinkxs14 分钟前
Elasticsearch - 倒排索引的压缩算法 Elasticsearch 如何节省空间
大数据·elasticsearch·搜索引擎
思通数科多模态大模型3 小时前
门店 AI 清洁系统:AI 语义分割 + 机器人清洁
大数据·人工智能·算法·目标检测·计算机视觉·自然语言处理·机器人
南方略咨询3 小时前
南方略咨询:环保行业进入深水区,营销管理能力正在拉开企业差距
大数据·人工智能
RPA机器人就选八爪鱼4 小时前
RPA在银行IT运维领域的应用场景与价值分析
大数据·运维·数据库·人工智能·机器人·rpa
嘉禾望岗5034 小时前
spark算子类型
大数据·分布式·spark
CICI131414134 小时前
藦卡机器人:让焊接更洁净、更精准、更智能
大数据·人工智能
一直在追4 小时前
别再用 Java 多线程思维写 Python 了!Asyncio 才是 LLM 高并发的王道
大数据
大厂技术总监下海4 小时前
来自美团生产环境的实战派:开源CAT监控,如何保障超大规模分布式系统可观测性?
分布式·开源