spark如何处理非数字值的合计最大值?

时间:2018-11-15 13:10:19

标签: scala apache-spark apache-spark-sql

我有一个包含以下数据的数据框

DF1

|value|condition|
+-----+---------+
| 1   |   Y     |
| 2   |   Y     |
| 3   |   Y     |
| 3   |   N     |
| 3   |   N     |
+---------------+

我想了解如果聚合达到最大值,数据框的结果将是什么

DF1.groupby(DF1).max(condition)是否给出了Y字符串的最大数量,如果是的话,我如何根据字母顺序获得最大值?

编辑-

这不是用于日期或任何其他我希望用于字符串的数据类型

1 个答案:

答案 0 :(得分:2)

尝试一下

scala> val df1 = Seq((1,"Y"),(2,"Y"),(3,"N"),(3,"Z")).toDF("value","condition")
df1: org.apache.spark.sql.DataFrame = [value: int, condition: string]

scala> df1.show
+-----+---------+
|value|condition|
+-----+---------+
|    1|        Y|
|    2|        Y|
|    3|        N|
|    3|        Z|
+-----+---------+


scala> df1.agg(max("condition")).show
+--------------+
|max(condition)|
+--------------+
|             Z|
+--------------+