在pyspark中显示Dataframe不同值的最佳方法是什么?

vecaoik1  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(331)

我想检查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
jucafojl

jucafojl1#

.collect 将所有结果返回到驱动程序,并在大数据集上导致oom错误。
使用 .distinct() 方法,并且如果您想要不同记录的计数,则使用 df.distinct().count() .

相关问题