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

相关推荐
沪漂阿龙1 小时前
面试题详解:检索链路设计全攻略——RAG 检索架构、查询理解、多路召回、混合检索、Rerank、上下文构造与评估闭环
大数据·人工智能·架构
金融小师妹1 小时前
基于AI通胀预期模型与美元流动性监测框架的黄金6周新低行分析:美元五连涨周期下贵金属定价机制重构研究
大数据·人工智能·重构·逻辑回归·线性回归
Jackyzhe1 小时前
从零学习Kafka:消费者组重平衡
分布式·学习·kafka
智慧医养结合软件开源1 小时前
智慧养老系统医生管理模块:专业赋能,筑牢老人诊疗安全防线
大数据·人工智能·安全·生活
海南java第二人2 小时前
ClickHouse 部署模式完全指南:从单机到分布式集群的生产级选型
分布式·clickhouse
身如柳絮随风扬3 小时前
Git 核心操作:rebase 与 merge 的区别,以及分支管理最佳实践
大数据·git
多年小白3 小时前
兆易创新分析
大数据·人工智能·ai·金融·区块链
财迅通Ai4 小时前
海立股份:公司旗下海立特冷“人体降温系统”入选市级先进技术推荐目录
大数据·人工智能·海立股份
gQ85v10Db5 小时前
Redis 分布式锁进阶第三十四篇
数据库·redis·分布式
captain_AIouo5 小时前
Captain AI以视频运营破局!助Ozon商家抢占流量红利
大数据·人工智能·经验分享·aigc·音视频