我可以使用RDD API收集这样的列。
df.map(r => r.getAs[String]("column")).collect
但是,由于我最初使用数据集,我宁愿不切换API级别。一个简单的df.select("column).collect
会返回Array[Row]
,其中.flatten
运算符不再有效。
如何直接收集到Array[T e.g. String]
?
答案 0 :(得分:6)
使用数据集(Spark版本> = 2.0.0),您只需将数据帧转换为数据集然后再收集它。
df.select("column").as[String].collect()
会返回一个数组[String]