【踩坑】SparkSQL union/unionAll 函数的去重问题

【踩坑】SparkSQL union/unionAll 函数的去重问题

  • 测试数据
scala 复制代码
case class Employee(first_name:String)

val employeeDF1 = spark.createDataset(Seq( 
    Employee("Mary"), 
    Employee("Mandy"),
    Employee("Kurt")
))
val employeeDF2 = spark.createDataset(Seq( 
    Employee("Mary"), 
    Employee("Julie"), 
    Employee("Mandy"),
    Employee("Julie"), 
    Employee("Kurt")
))
  • 无论是union还是unionall都不会去重
scala 复制代码
employeeDF1.union(employeeDF2).show
scala 复制代码
employeeDF1.unionAll(employeeDF2).show
  • 当通过spark.sql执行方式时,union可以去重
scala 复制代码
employeeDF1.createOrReplaceTempView("ds1")
employeeDF2.createOrReplaceTempView("ds2")
scala 复制代码
spark.sql("select * from ds1 union select * from ds2").show
scala 复制代码
spark.sql("select * from ds1 union all select * from ds2").show
相关推荐
B站计算机毕业设计之家3 小时前
智慧交通项目:Python+PySide6 车辆检测系统 YOLOv8+OpenCV 自定义视频 自定义检测区域 (源码+文档)✅
大数据·python·opencv·yolo·智慧交通·交通·车流量
数据与人工智能律师4 小时前
AI的法治迷宫:技术层、模型层、应用层的法律痛点
大数据·网络·人工智能·云计算·区块链
weixin_525936338 小时前
金融大数据处理与分析
hadoop·python·hdfs·金融·数据分析·spark·matplotlib
码上地球10 小时前
大数据成矿预测系列(三) | 从统计模型到机器学习:为何机器学习是成矿预测的新前沿?
大数据·机器学习·数据挖掘
Hello.Reader10 小时前
Flink 作业测试依赖、MiniCluster、DataStream 与 Table/SQL 上手
大数据·sql·flink
代码匠心12 小时前
从零开始学Flink:实时流处理实战
java·大数据·后端·flink
cxr82812 小时前
AI智能体赋能文化传承与创新领域:社群身份认同的数字空间重构与文化融合策略
大数据·人工智能·重构·提示词工程·ai赋能
IT研究室14 小时前
大数据毕业设计选题推荐-基于大数据的全球用水量数据可视化分析系统-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·课程设计
yueyuebaobaoxinx14 小时前
从工具到中枢:2025 年 AI 重构实体经济的实践图景
大数据·人工智能·重构
huluang14 小时前
基于AI驱动的项目重构与落地实施指南
大数据·人工智能·重构