【踩坑】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
相关推荐
2pi1 小时前
pyspark 遇到**Py4JJavaError** Traceback (most recent call last) ~\AppData\
python·spark
ui设计前端开发老司机1 小时前
在大数据开发中spark是指什么?
大数据
不爱学习的小枫1 小时前
sparksql的Transformation操作
spark
徐一闪_BigData2 小时前
Flink读取Kafka数据写入IceBerg(HiveCatalog)
大数据·flink·iceberg
大数据追光猿9 小时前
Tree of Thought Prompting(思维树提示)
大数据·人工智能·深度学习·计算机视觉·语言模型
z263730561110 小时前
Git 面试问题,解决冲突
大数据·git·elasticsearch
lusklusklusk11 小时前
ES_用户管理之ElasticSearch 8.0创建用户,用户组,授权,查询权限和LDAP认证
大数据·elasticsearch·jenkins
Elastic开源社区12 小时前
Search after解决ES深度分页问题
大数据·elasticsearch·es·search after·深度分页
交响梦12 小时前
医院信息系统平台总体架构原则
大数据·数据库·人工智能·架构·健康医疗
闯闯桑12 小时前
Spark 中的Shuffle过程
大数据·开发语言·spark·php·scala