暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

pyspark案例系列8-Dataframe的求差集、交集 、并集

原创 只是甲 2022-06-14
2210

Table of Contents

一. 需求

我们使用pyspark的Dataframe的时候,经常会遇到求 差集、交集 、并集。
虽然这个需求可以通过Spark SQL来实现,但是如果列比较多,使用Spark SQL实现也是比较麻烦的。

二. 解决方案

2.1 数据准备

代码:

from pyspark.sql import SparkSession spark = SparkSession. \ Builder(). \ appName('local'). \ master('local'). \ getOrCreate() sentenceDataFrame = spark.createDataFrame(( (1, "asf"), (2, "2143"), (3, "rfds") )).toDF("label", "sentence") sentenceDataFrame.show() sentenceDataFrame1 = spark.createDataFrame(( (1, "asf"), (2, "2143"), (4, "f8934y") )).toDF("label", "sentence") sentenceDataFrame1.show()

测试记录:
image.png

2.2 差集

代码:

#差集 subtract newDF = sentenceDataFrame.select("sentence").subtract(sentenceDataFrame1.select("sentence")) newDF.show() newDF = sentenceDataFrame.subtract(sentenceDataFrame1) newDF.show()

测试记录:
image.png

2.3 交集

代码:

#交集 intersect newDF_intersect = sentenceDataFrame1.select("sentence").intersect(sentenceDataFrame.select("sentence")) newDF_intersect.show() newDF_intersect = sentenceDataFrame1.intersect(sentenceDataFrame) newDF_intersect.show()

测试记录:
image.png

2.4 并集

代码:

#并集 union newDF_union = sentenceDataFrame.select("sentence").union(sentenceDataFrame1.select("sentence")) newDF_union.show() newDF_union = sentenceDataFrame.union(sentenceDataFrame1) newDF_union.show()

测试记录:
image.png

2.5 并集 +去重

代码:

#并集 +去重 newDF_union = sentenceDataFrame.select("sentence").union(sentenceDataFrame1.select("sentence")).distinct() newDF_union.show() newDF_union = sentenceDataFrame.union(sentenceDataFrame1).distinct() newDF_union.show()

测试记录:
image.png

参考:

1.https://blog.csdn.net/m0_37442062/article/details/87988751

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论