gpt4 book ai didi

scala - 在 Spark 中获取 DataFrame 列的值

转载 作者:行者123 更新时间:2023-12-04 00:41:11 24 4
gpt4 key购买 nike

我正在尝试检索 DataFrame 列的值并将其存储在变量中。我试过这个:

val name=df.select("name")
val name1=name.collect()

但以上都没有返回列“名称”的值。

星火版本:2.2.0
斯卡拉版本:2.11.11

最佳答案

这里有几件事。如果你想看到所有的数据收集是要走的路。但是,如果您的数据太大,则会导致驱动器出现故障。

所以另一种方法是检查数据框中的几个项目。我通常做的是

df.limit(10).select("name").as[String].collect()

这将提供 10 个元素的输出。但现在输出看起来不太好

所以,第二个选择是
df.select("name").show(10)

这将打印前 10 个元素,有时如果列值很大,它通常会放置“...”而不是令人讨厌的实际值。

因此有第三种选择
df.select("name").take(10).foreach(println)

取 10 个元素并打印它们。

现在,在所有情况下,您都不会获得公平的数据样本,因为将选取前 10 个数据。因此,要真正从数据帧中随机选取,您可以使用
df.select("name").sample(.2, true).show(10)
or
df.select("name").sample(.2, true).take(10).foreach(println)

您可以检查数据帧上的“样本”功能

关于scala - 在 Spark 中获取 DataFrame 列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46348617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com