我想了解累加器的用途。基于在线示例,我们似乎可以使用它们来计算数据的特定问题。例如,我有很多许可证号码,我可以使用累加器来计算它们中有多少是无效的。但我们不能使用过滤器和地图操作来做同样的事情吗?是否有可能展示一个使用累加器的好例子?如果您在pyspark中提供示例代码而不是java或scala
,我将不胜感激答案 0 :(得分:0)
累加器主要用于诊断和从操作中检索其他数据,通常不应用作主逻辑的一部分,尤其是在内部转换*中调用时。
让我们从第一个案例开始。您可以使用accumulator
或命名accumulator
以接近实时的方式监视程序执行(每个任务更新),例如,如果遇到许多无效记录,则终止作业。可以使用驱动程序UI监视命名累加器的状态。
如果是动作,它可以用来获取其他统计信息。例如,如果您使用foreach
,foreachPartition
将数据推送到外部系统,则可以使用累加器来跟踪故障。