Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何从数据帧获取列表[字符串]_Scala_Apache Spark - Fatal编程技术网

Scala 如何从数据帧获取列表[字符串]

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

我在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.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
包含一个字符串列,否则将失败)