spark 从数据框中收集为 Array[T] 而不是 Array[Row]
spark collect as Array[T] and not as Array[Row] from data frame
我可以使用 RDD API 收集这样的列。
df.map(r => r.getAs[String]("column")).collect
但是,由于我最初使用的是数据集,所以我不想切换 API 级别。一个简单的 df.select("column).collect
returns 和 Array[Row]
,其中 .flatten
运算符不再有效。
我怎样才能直接收款到Array[T e.g. String]
?
使用 Datasets(Spark 版本 >= 2.0.0),你只需要将 dataframe 转换为 dataset 然后收集它。
df.select("column").as[String].collect()
你会return一个数组[String]
我可以使用 RDD API 收集这样的列。
df.map(r => r.getAs[String]("column")).collect
但是,由于我最初使用的是数据集,所以我不想切换 API 级别。一个简单的 df.select("column).collect
returns 和 Array[Row]
,其中 .flatten
运算符不再有效。
我怎样才能直接收款到Array[T e.g. String]
?
使用 Datasets(Spark 版本 >= 2.0.0),你只需要将 dataframe 转换为 dataset 然后收集它。
df.select("column").as[String].collect()
你会return一个数组[String]