【踩坑】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
相关推荐
九河云1 天前
华为云 ECS 弹性伸缩技术:应对业务峰值的算力动态调度策略
大数据·服务器·人工智能·物联网·华为云
AI营销资讯站1 天前
AI营销内容生产:哪些平台支持全球多语言内容同步生产?
大数据·人工智能
桃花键神1 天前
openFuyao在AI推理与大数据场景中的加速方案:技术特性与实践探索
大数据·人工智能
天远数科1 天前
前端全栈进阶:使用 Node.js Crypto 模块处理 AES 加密与天远API数据聚合
大数据·api
天远API1 天前
后端进阶:使用 Go 处理天远API的 KV 数组结构与并发风控
大数据·api
千匠网络1 天前
S2B供应链平台:优化资源配置,推动产业升级
大数据·人工智能·产品运营·供应链·s2b
WX-bisheyuange1 天前
基于Spring Boot的智慧校园管理系统设计与实现
java·大数据·数据库·毕业设计
AI营销快线1 天前
AI如何每日自动生成大量高质量营销素材?
大数据·人工智能
KKKlucifer1 天前
从 “人工标注” 到 “AI 驱动”:数据分类分级技术的效率革命
大数据·人工智能·分类
天远云服1 天前
Spring Boot 金融实战:如何清洗天远API的 KV 数组格式风控数据
大数据·api