在 pyspark 中显示数据框不同值的最佳方式是什么?
What's the best way to show distinct values for a dataframe in pyspark?
我想检查数据框的不同值,我知道有一些方法可以做到这一点。我想查看 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
.collect
会将所有结果返回给驱动程序并导致大数据集出现 OOM 错误。
使用 .distinct()
方法,如果您想要不同记录的计数,则使用 df.distinct().count()
.
我想检查数据框的不同值,我知道有一些方法可以做到这一点。我想查看 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
.collect
会将所有结果返回给驱动程序并导致大数据集出现 OOM 错误。
使用 .distinct()
方法,如果您想要不同记录的计数,则使用 df.distinct().count()
.