我可以使用RDD API收集这样的列。
df.map(r => r.getAs[String]("column")).collect
但是,由于我最初使用的数据集,所以我不想切换API级别。简单的df.select("column).collect
返回Array[Row]
,其中.flatten
操作员不再工作。如何直接收集到Array[T e.g. String]
?
带有数据集(Spark版本> = 2.0.0),您只需要将数据框架转换为数据集,然后收集它。
df.select("column").as[String].collect()
会返回您一个数组[String]