小编典典

countDistinct和distinct.count之间的区别

sql

为什么我得到不同的输出..agg(countDistinct("member_id") as "count")..distinct.count?的区别是一样的之间select count(distinct member_id)select distinct count(member_id)


阅读 588

收藏
2021-04-07

共1个答案

小编典典

df.agg(countDistinct("member_id") as "count")

返回该member_id列的不同值的数量,而忽略所有其他列,而

df.distinct.count

将计算DataFrame中不同 记录 的数量-其中“ distinct”表示 所有 列的值相同。

因此,例如,DataFrame:

+-----------+---------+
|member_name|member_id|
+-----------+---------+
|          a|        1|
|          b|        1|
|          b|        1|
+-----------+---------+

仅具有一个不同的member_id值,但具有两个不同的记录,因此该agg选项将返回1,而后者将返回2。

2021-04-07