【踩坑】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
相关推荐
天码-行空2 小时前
【大数据环境安装指南】ZooKeeper搭建Storm高可用集群教程
大数据·zookeeper·storm
行业探路者2 小时前
提升旅游行程管理效率的二维码文件生成方案
大数据·人工智能·学习·二维码·产品介绍
CNRio3 小时前
Day 48:Git的高级技巧:使用Git的worktree多工作区管理
大数据·git·elasticsearch
whltaoin3 小时前
【AI Agent Skills】重塑 AI Agent 竞争力:Skills 体系的核心价值、构建方法与未来方向
大数据·人工智能·agent·agent skills
Sui_Network4 小时前
Walrus 2025 年度回顾
大数据·前端·人工智能·深度学习·区块链
一条闲鱼_mytube4 小时前
CI/CD: K8S + Tekton + ArgoCD 深入浅出完全指南
大数据·argocd
一条闲鱼_mytube5 小时前
CI/CD: Argo 深入浅出教程
大数据·elasticsearch·argocd
是阿威啊5 小时前
【用户行为归因分析项目】- 【企业级项目开发第二站】项目通用代码开发
大数据·服务器·数据仓库·hive·hadoop
武子康5 小时前
大数据-201 决策树从分裂到剪枝:信息增益/增益率、连续变量与CART要点
大数据·后端·机器学习
老吴学AI5 小时前
第二篇:智能五层模型:定义你的AI应用战略高度
大数据·人工智能·aigc