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

相关推荐
永洪科技2 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
weixin_307779132 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
ZHOU_WUYI3 小时前
一个简单的分布式追踪系统
分布式
上海锝秉工控5 小时前
防爆拉线位移传感器:工业安全的“隐形守护者”
大数据·人工智能·安全
cv高级工程师YKY5 小时前
SRE - - PV、UV、VV、IP详解及区别
大数据·服务器·uv
bxlj_jcj6 小时前
深入Flink核心概念:解锁大数据流处理的奥秘
大数据·flink
云资源服务商6 小时前
阿里云Flink:开启大数据实时处理新时代
大数据·阿里云·云计算
码不停蹄的玄黓7 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
Aurora_NeAr7 小时前
Spark SQL架构及高级用法
大数据·后端·spark
王小王-1237 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车