scala – 如何将数据框的列转换为Apache Spark中的列表?

我想将数据框的字符串列转换为列表。我从Dataframe API中可以找到的是rdd,所以我尝试将它重新转换为rdd,然后将其应用于rdd。在这种情况下,长度和sql工作都很好。然而,我从rdd得到的结果在每个这样的元素(A00001)上都有一个方括号。我想知道是否有适当的方式将列转换为列表或删除方括号的方法。

任何建议,将不胜感激。谢谢!

最佳答案
这应该返回包含单列表的集合:

dataFrame.select("YOUR_COLUMN_NAME").rdd.map(r => r(0)).collect()

没有映射,你只需要一个Row对象,它包含数据库中的每一列。

请记住,这可能会获得任何类型的列表。 Ï如果要指定结果类型,可以在r =>中使用.asInstanceOf [YOUR_TYPE]。 r(0).asInstanceOf [YOUR_TYPE]映射

美国由于自动转换,您可以跳过.rdd部分。

转载注明原文:scala – 如何将数据框的列转换为Apache Spark中的列表? - 代码日志