【踩坑】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
相关推荐
君不见,青丝成雪23 分钟前
hadoop技术栈(九)Hbase替代方案
大数据·hadoop·hbase
晴天彩虹雨38 分钟前
存算分离与云原生:数据平台的新基石
大数据·hadoop·云原生·spark
朗迪锋42 分钟前
数字孪生 :提高制造生产力的智能方法
大数据·人工智能·制造
杨荧2 小时前
基于Python的宠物服务管理系统 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python·信息可视化
健康平安的活着2 小时前
es7.x es的高亮与solr高亮查询的对比&对比说明
大数据·elasticsearch·solr
缘华工业智维2 小时前
CNN 在故障诊断中的应用:原理、案例与优势
大数据·运维·cnn
更深兼春远2 小时前
spark+scala安装部署
大数据·spark·scala
阿里云大数据AI技术3 小时前
ODPS 十五周年实录 | 为 AI 而生的数据平台
大数据·数据分析·开源
哈哈很哈哈5 小时前
Spark 运行流程核心组件(三)任务执行
大数据·分布式·spark
我星期八休息6 小时前
大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
大数据·人工智能·python