spark,读取和写入同一张表问题

读取a表,写入a表

1.写入的是分区表,不报错

2.读取上来之后,创建为临时视图temp,然后先写入a表,再使用temp,就会报错

解决办法:可以先使用temp,再写入a表

3.写入的不是分区表,会报错

解决办法:先把数据收集到Driver,创建临时视图,再写入a表

4.万能解决办法:先把数据收集到Driver,创建临时视图,再写入a表

java 复制代码
Dataset<Row> dataset = spark.sql(get_new_id_Sql());

StructType schema = dataset.schema();

List<Row> rows = dataset.collectAsList();

spark.createDataFrame(rows, schema).createOrReplaceTempView("all_data");
sql 复制代码
insert overwrite table ods.a
select * from all_data

可能的原因:spark是移动数据不如移动计算,所以数据的路径还是a表,如果收集到Driver,路径就不是a表了

相关推荐
想ai抽2 分钟前
Flink的checkpoint interval与mini-batch什么区别?
大数据·flink·batch
鸽鸽程序猿3 分钟前
【RabbitMQ】简介
分布式·rabbitmq
字节跳动数据平台5 分钟前
火山引擎推出Data Agent评测体系,并发布《2025数据智能体实践指南》
大数据
字节跳动数据平台6 分钟前
火山引擎发布新产品用户研究Agent,并推出数据智能体评测体系
大数据
在未来等你10 分钟前
Kafka面试精讲 Day 29:版本升级与平滑迁移
大数据·分布式·面试·kafka·消息队列
雾行灯26 分钟前
Hive 中的“分布键”之思:从数据组织到查询优化的系统解析
大数据
在未来等你37 分钟前
Kafka面试精讲 Day 30:Kafka面试真题解析与答题技巧
大数据·分布式·面试·kafka·消息队列
Lx35238 分钟前
Flink内存管理:如何避免`OutOfMemoryError`
大数据
TDengine (老段)1 小时前
TDengine 数字函数 RADIANS 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
流烟默2 小时前
机器学习中一些场景的模型评估与理解图表
大数据·人工智能·机器学习