我想检查Dataframe的不同值,我知道有一种方法可以做到这一点。我想看看列的唯一值 rabbit
, platypus
以及 book
.
这是第一条路
mydf
.select("rabbit", "platypus", "book")
.distinct
.show
这是第二条路
mydf
.select("rabbit", "platypus", "book")
.distinct
.count
这是另一种方式
val rabbit = mydf.groupByKey(log => {
val rabbit = mydf.rabbit
rabbit
}).count.collect
val platypus = mydf.groupByKey(log => {
val platypus = mydf.platypus
platypus
}).count.collect
val book = mydf.groupByKey(log => {
val book = mydf.book
book
}).count.collect
1条答案
按热度按时间jucafojl1#
.collect
将所有结果返回到驱动程序,并在大数据集上导致oom错误。使用
.distinct()
方法,并且如果您想要不同记录的计数,则使用df.distinct().count()
.