Apache spark 如何将列值转换为列表

Apache spark 如何将列值转换为列表,apache-spark,Apache Spark,我有一个数据集,我想将一列值提取到一个列表中,如何实现? 我试过: List<Row> rows = dF.select("col1").collectAsList(); List rows=dF.select(“col1”).collectAsList(); 但是如何迭代col1的值呢 谢谢您可以像迭代任何列表一样迭代行列表。 例如:假设要访问所有行的第一列(字符串类型),可以使用以下代码段 import scala.collection.JavaConve

我有一个数据集,我想将一列值提取到一个列表中,如何实现? 我试过:

List<Row> rows = dF.select("col1").collectAsList();
List rows=dF.select(“col1”).collectAsList();
但是如何迭代col1的值呢


谢谢

您可以像迭代任何列表一样迭代行列表。 例如:假设要访问所有行的第一列(字符串类型),可以使用以下代码段

import scala.collection.JavaConversions.asScalaBuffer
val  rows = df.select("col1").collectAsList();
rows.map(r => r.getAs[String](0))

这是您可以迭代从
中选择的列表的方式,但如果该列太大,不建议在驱动程序节点中使用

df.select("col1").collectAsList()
    .stream().forEach(row -> System.out.println(row.getString(0)));

其他数据类型还有其他函数可以从
Row
中获取值,如JAVA中的
getString
getLong
getInt
等!