![]() |
1
3
|
![]() |
2
3
因此,虽然UDF可以满足您的需要,但如果您正在寻找一种性能更高、同时对内存敏感的方法,那么这样做的方法就是编写一个UDAF。不幸的是,udafapi实际上并不像spark附带的聚合函数那样可扩展。但是,您可以使用它们的内部api在内部函数的基础上进行构建,以完成您需要的任务。
下面是一个
我们可以通过Spark的内部
结果表明,只有在您还没有创建SparkContext的情况下,才能将其添加到内置中,因为它会在启动时生成一个不可变的克隆。如果您有一个现有的上下文,那么这应该可以将其添加到反射中:
|
![]() |
3
0
你可以使用自定义项。 这是一个可能的例子,没有必要使用模式,但有一个有意义的简化:
下面是一个与您的数据类似的示例
|
![]() |
davidzxc574 · 将字符串缩放为字符 2 年前 |
![]() |
yic_l · 什么是“!”在这个函数中是什么意思? 2 年前 |
![]() |
Jelly · Scala:用于理解递归未来 3 年前 |
![]() |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 3 年前 |
![]() |
Iheb Mar · 卡夫卡制作人/消费者粉碎每一秒的API调用 3 年前 |
![]() |
B. Bal · 在Scala中重用类成员 3 年前 |