Spark SQL UNION,EXPECT,INTERSECT之间的区别

Spark SQL UNION,EXPECT,INTERSECT之间的区别

from pyspark.sql import SparkSession

if __name__ == '__main__':
    spark = SparkSession.builder.getOrCreate()
    df1 = spark.createDataFrame([[3], [1], [2], [2], [3], [4]], schema=['v1'])
    df2 = spark.createDataFrame([[5], [1], [2], [2]], schema=['v2'])
    # df.printSchema()
    # 设置数据的表名
    df1.createTempView("num1")
    df2.createTempView("num2")
    # 编写sql实现操作
    # EXCEPT 排除
    # num2 在 num1不存在的数据
    spark.sql("select * from num1 EXCEPT  select * from num2").show()
    spark.sql("select * from num1 MINUS   select * from num2").show()
    # num2 在 num1 不存在的数据(不去重)
    spark.sql("select * from num1 EXCEPT  All (select  * from num2)").show()
    spark.sql("select * from num1 MINUS  All (select  * from num2)").show()
    print("111111111111111111111111")
    # 交集 INTERSECT
    spark.sql("(select * from num1) INTERSECT  (select * from num2)").show()
    spark.sql("(select * from num1) INTERSECT DISTINCT  (select * from num2)").show()
    # 不去重
    spark.sql("select * from num1 INTERSECT ALL (select * from num2)").show()
    print("2222222222222222222222222")
    # 联合 UNION
    spark.sql("(select * from num1) UNION  (select * from num2)").show()
    spark.sql("(select * from num1) UNION DISTINCT  (select * from num2)").show()
    # 不去重
    spark.sql("select * from num1 UNION  ALL (select * from num2)").show()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值