【发布时间】:2020-01-19 17:34:18
【问题描述】:
我是 Scala 的初学者,我有一个看起来像这样(缩写)的数据框:
root
|-- contigName: string (nullable = true)
|-- start: long (nullable = true)
|-- end: long (nullable = true)
|-- names: array (nullable = true)
| |-- element: string (containsNull = true)
|-- referenceAllele: string (nullable = true)
|-- alternateAlleles: array (nullable = true)
| |-- element: string (containsNull = true)
我正在尝试简单地groupBy 名称列:
display(dataframe.groupBy("names"))
很简单的操作,但是
notebook:1: error: overloaded method value display with alternatives:
[A](data: Seq[A])(implicit evidence$1: reflect.runtime.universe.TypeTag[A])Unit <and>
(dataset: org.apache.spark.sql.Dataset[_],streamName: String,trigger: org.apache.spark.sql.streaming.Trigger,checkpointLocation: String)Unit <and>
(model: org.apache.spark.ml.classification.DecisionTreeClassificationModel)Unit <and>
(model: org.apache.spark.ml.regression.DecisionTreeRegressionModel)Unit <and>
(model: org.apache.spark.ml.clustering.KMeansModel)Unit <and>
(model: org.apache.spark.mllib.clustering.KMeansModel)Unit <and>
(documentable: com.databricks.dbutils_v1.WithHelpMethods)Unit
cannot be applied to (org.apache.spark.sql.RelationalGroupedDataset)
display(dataframe.groupBy("names"))
如何显示这些分组数据?
我看到的一些解决方案已经很复杂了,我不认为这是重复的,我想要的非常简单。
【问题讨论】:
-
首先,您不能对
array列进行分组,其次您需要添加聚合以从RelationalGroupedDataset创建DataFrame -
@RaphaelRoth 你能举个例子吗?
标签: scala dataframe apache-spark databricks