Scala 如何从数据帧获取列表[字符串]
我在HDFS中有一个文本文件,其中包含一个ID列表,我希望将其作为字符串列表读取。当我这么做的时候Scala 如何从数据帧获取列表[字符串],scala,apache-spark,Scala,Apache Spark,我在HDFS中有一个文本文件,其中包含一个ID列表,我希望将其作为字符串列表读取。当我这么做的时候 spark.read.text(filePath).collect.toList 我得到了一个列表[org.apache.spark.sql.Row]。如何将此文件读入字符串列表?使用map(uu.getString(0))从行对象中提取值: spark.read.text(filePath).map(_.getString(0)).collect.toList 使用map(u.getStr
spark.read.text(filePath).collect.toList
我得到了一个列表[org.apache.spark.sql.Row]。如何将此文件读入字符串列表?使用map(uu.getString(0))
从行对象中提取值:
spark.read.text(filePath).map(_.getString(0)).collect.toList
使用map(u.getString(0))
从行对象中提取值:
spark.read.text(filePath).map(_.getString(0)).collect.toList
如果改用
spark.read.textFile(filepath)
,您将得到一个DataSet[String]
而不是DataFrame
(也称为DataSet[Row]
)。然后,当您采集时,您将获得一个数组[String]
,而不是数组[Row]
您还可以使用
df.as[string]
将带有单个字符串列的DataFrame
转换为DataSet[string]
。因此df.as[String].collect
将从DataFrame
获得一个Array[String]
(假设DataFrame
包含一个字符串列,否则将失败)如果使用spark.read.textFile(filepath)
,则将获得一个DataSet[String]
而不是数据帧
(也称为数据集[行]
)。然后,当您采集时,您将获得一个数组[String]
,而不是数组[Row]
您还可以使用df.as[string]
将带有单个字符串列的DataFrame
转换为DataSet[string]
。因此df.as[String].collect将从DataFrame
获取一个Array[String]
(假设DataFrame
包含一个字符串列,否则将失败)