1 个回答
去重的话,可以直接使用spark的dropDuplicates函数,这个函数可以根据多个字段的组合来进行去重,使用语法是:
主要参数:
subset: 输入要进行去重的列名,默认为None
keep: 可选参数有三个:‘first’、 ‘last’、 False, 默认值 ‘first’。其中,
first表示: 保留第一次出现的重复行,删除后面的重复行。
last表示: 删除重复项,保留最后一次出现。
False表示: 删除所有重复项。
inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。
实际演示如下:
df.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
主要参数:
subset: 输入要进行去重的列名,默认为None
keep: 可选参数有三个:‘first’、 ‘last’、 False, 默认值 ‘first’。其中,
first表示: 保留第一次出现的重复行,删除后面的重复行。
last表示: 删除重复项,保留最后一次出现。
False表示: 删除所有重复项。
inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。
实际演示如下:
val windowCountDupDF = mobileDupSSDF.withWatermark("ts", "10 minutes").dropDuplicates("id", "ts").groupBy("id").count
发布于:1年前 (2022-12-15) IP属地:四川省
我来回答
您需要 登录 后回答此问题!