在Scala中,如何在保留数据类型的同时从数据框中获取列?

时间:2017-02-15 22:43:39

标签: scala

简单的问题,但我有点像Scala新手。我有以下数据框:

scala> output.printSchema
root
 |-- sen: string (nullable = true)
 |-- words: array (nullable = true)
 |    |-- element: string (containsNull = true)
 |-- lemma: array (nullable = true)
 |    |-- element: string (containsNull = true)
 |-- pos: array (nullable = true)
 |    |-- element: string (containsNull = true)

我正在尝试将zip功能应用于单词引理列,如下所示:

scala> output("words") zip output("lemma")

但是,我收到以下错误:

<console>:44: error: value zip is not a member of org.apache.spark.sql.Column 

如何将单词引理列检索为字符串数组?我尝试过一些东西,但似乎都没有。

1 个答案:

答案 0 :(得分:0)

您可能正在寻找collect()

请参阅此处的文档:http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.Dataset

collect():数组[T]  永久链接 返回包含此数据集中所有行的数组。

val results = output.collect()