当前位置: 首页 > article >正文

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

读取a表,写入a表

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

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

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

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

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

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

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");
insert overwrite table ods.a
select * from all_data

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


http://www.kler.cn/a/507031.html

相关文章:

  • 如何在谷歌浏览器中设置自定义安全警告
  • Lianwei 安全周报|2025.1.13
  • 小米vela系统(基于开源nuttx内核)——openvela开源项目
  • C 语言中二维数组的退化
  • 【redis】键的全局命令
  • 闲谭SpringBoot--ShardingSphere分布式事务探究
  • 掌握 TypeScript 的 `Omit` 工具类型:灵活操作对象属性的艺术
  • [Qt]常用控件介绍-布局管理器-QVBoxLayout、QHBoxLayout、QGridLayout、QFormLayout、QSpace控件
  • AI实验室copilot自动化科研,AMD联手约翰霍普金斯大学:成本节约84%!
  • 【JVM-6】JVM 监控工具 jstat 的使用和具体应用案例
  • 【区间DP】【hard】力扣730. 统计不同回文子序列
  • css3网格布局
  • JavaEE:多线程初阶
  • shell安全类脚本(1.屏蔽每分钟访问过多的IP;2.拒绝ssh暴力破解)
  • MySQL基本知识梳理
  • linux上使用update-alternatives来选择软件版本
  • Jenkins+Docker一键打包部署项目!步骤齐全,少走坑路!
  • Vue3中使用组合式API通过路由传值详解
  • 模型参考自适应控制算法介绍及代码例程
  • 【机器学习:十八、更高级的神经网络概念】
  • Fiddler、Charles、Wireshark 和 Sniffmaster 工具对比
  • vscode【实用插件】Material Icon Theme 美化文件图标
  • 大疆发布可折叠航拍无人机,仅重249g,支持 4800 万像素拍摄
  • vue3+js使用elementplus的ElMessage弹窗报错:ElMessage‘ is not defined.eslintno-undef
  • mybatis的多对一、一对多的用法
  • Git在码云上的使用指南:从安装到推送远程仓库