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表了

相关推荐
手可摘星辰7774 小时前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天4 小时前
Hudi技术内幕:Metadata Table原理与实践
大数据
大大大大晴天1 天前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术1 天前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB2 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
大大大大晴天5 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB6 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI6 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI6 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop
WhoAmI6 天前
MapReduce框架原理解析二:Shuffle
大数据·hadoop