第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Spark 2.X 上累加器(Accumulators)不能用了?原來如此

標(biāo)簽:
Spark

本文基于Spark2.1.0版本

今天整理累加器的知识点时,发现实例化一个Accumulator对象,编译无法通过:

webp

Spark 2.x版本使用Accumulator类时编译出错,提示类过时

查了一下Spark2.x的API,发现对Accumulator类的定义发生了变化:

webp

2.0版本前的累加器的类定义

webp

2.x版本的累加器类定义

新的累加器创建的方法如下:

webp

webp

webp

可以看出,新版的累加器有了如下的改良:

1,不用传初始化值参数,默认是从0开始;

2,创建累加器时,可以指定累加器的名字,这样在Driver 4040 Web UI的Task显示时,可以看到该名字的累加器在各Task中的实际的值(如果不指定累加器名字,则不会在Web UI上显示)--  这点我说的不准确,旧的累加器类也有这个功能,只不过我一直没用过,惭愧。。。

3,新增了reset方法,可以重置该累加器归零(还有几个新的方法,不一一举例)

So,按照API的指示,修改如下:

webp

编译通过,功能正常

在Driver 的4040 Web UI上观察,发现Task table增加了 Accumulators 列,能看到每个Task上的叫做ErrorCnt 的累加器的值(可以同时定义多个累加器)

webp


迭代器使用起来很简单,很方便,但在使用过程中一定要注意(新手容易忽略):

因为Spark 相同的Task有可能被重复执行多次(容错性导致),所以累加器的值很有可能被累加多次,那么得到的结果就不准确了,所以一般把累加器放在行动操作中来使用,只有这样,Spark才会把每个任务对各累加器的修改应用一次。

下面举一个foreach的行动操作的例子:

webp


webp

官网说明


java代码如下:

webp



作者:俺是亮哥
链接:https://www.jianshu.com/p/9d6111fc6303


點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消