数据集:
+---+--------+
|age| name|
+---+--------+
| 33| Will|
| 26|Jean-Luc|
| 55| Hugh|
| 40| Deanna|
| 68| Quark|
| 59| Weyoun|
| 37| Gowron|
| 54| Will|
| 38| Jadzia|
| 27| Hugh|
+---+--------+
这是我的尝试,但它只返回最大字符串的大小,而不是最大字符串的大小:
AgeName.groupBy("age")
.agg(max(length(AgeName("name")))).show()
3条答案
按热度按时间g6baxovj1#
iugsix8n2#
如果正确指定窗口,通常的行号技巧应该会起作用。以@leoc为例,
chy5wohz3#
这里有一种方法是使用spark高阶函数,
aggregate
,如下图:请注意,高阶函数仅适用于spark 2.4+。