[英]Getting max value out of a dataframe column of timestamp in scala/spark
[英]Getting the value of a DataFrame column in Spark
我试图检索DataFrame列的值并将其存储在变量中。 我试过这个:
val name=df.select("name")
val name1=name.collect()
但以上都没有返回列“name”的值。
Spark版本:2.2.0 Scala版本: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)
您可以在数据框上检查“sample”函数
第一个会做:)
val name = df.select("name")
将返回另一个DataFrame。 例如,您可以使用name.show()
来显示DataFrame的内容。 你也可以收集或收集AsMap来实现驱动程序的结果,但要注意,数据量对于驱动程序来说不应该太大
你也可以这样做:
val names = df.select("name").as[String].collect()
这将返回此DataFrame中的名称数组
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.