zoukankan      html  css  js  c++  java
  • AccumulatorV2不生效的问题排查

    在Spark作业中使用AccumulatorV2自定义了一个字符串累加器,但是累加器在作业执行中不生效。

    问题可能原因:

    1、累加器本身定义的有问题;

    2、Spark作业执行流程的原因;

    问题排查情况:

    1、通过一个自定义累加器类单测,只能证明了累加器自身类定义的正确性,但还不能证明累加器进入SparkContext执行的正确性;

    2、通过另外一个单测,在原累加器的基础上再添加一个LongAccumulator累加器,同时执行自定义小数据的累加操作,结果显示LongAccumulator正确累加,原来的自定义累加器依然是初始值。这个单测证明,Spark上下文的执行是没有问题的,是自定义累加器的问题,此时可能是累加器本身有问题,或者是累加器注册到SparkContext有问题;

    综上,就来对比排查以下两种情况:

    1、累加器的注册是否正确;

    2、累加器自身类定义是否有问题;

    第二轮排查:通过和一个博客示例的特别简易AccumulatorV2实现的层层逼近和交叉验证,基本锁定是我的自定义累加器中的Merge函数定义有问题,必须先转换类型取得数据再赋值。

    参考链接:https://blog.csdn.net/Winner941112/article/details/80986119?utm_source=blogxgwz9

  • 相关阅读:
    概率论
    Python3爬虫爬取淘宝商品数据
    利用Python数据分析基础
    Linux安装MATLAB2016a
    python3爬取高清壁纸(2)
    python3爬取高清壁纸(1)
    Git使用基础
    Python3基础
    正则表达式的使用基础
    Nginx配置多域名代理
  • 原文地址:https://www.cnblogs.com/renyang/p/12604971.html
Copyright © 2011-2022 走看看