您当前的位置: 首页 >  ar

段智华

暂无认证

  • 0浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第14课:Spark Streaming源码解读之State管理之updateStateByKey和mapWithState解密

段智华 发布时间:2017-09-17 07:37:12 ,浏览量:0

第14课:Spark Streaming源码解读之State管理之updateStateByKey和mapWithState解密

本节课讲解Spark Streaming中一个非常重要的内容:状态管理。为了说明这个状态管理,我们拿两个具体的方法updateStateByKey和mapWithState来说明Spark Streaming到底如何实现状态管理的。整个Spark Streaming按照Batch Duration划分Job,但是有时候我们想计算过去一小时,或者过去1天,或者过去一周的数据,在这么长的大于Batch Duration的时间实现符合我们业务的操作,不可避免的一定要发生的事情是进行状态维护。

我们的Spark Streaming在每个Batch Duration会产生一个Job,Job里面都是RDD,我们现在面临的一个问题就是:对于每个Batch Duration中的RDD,怎么对它的状态进行维护?例如updateStateByKey 计算一整天的商品的点击量或者一整天的商品排名,这个时候就需要类似updateStateByKey和mapWithState帮助你完成核心的步骤。

Spark本身博大精深,在Spark中可以看到IT界的大多数的内容,例如:通过Spark去研究JVM,通过Spark去研究分布式,通过Spark去研究机器学习、图计算这些内容,通过Spark也可以去研究架构设计,通过Spark也可以研究很多软件工程的内容。所以我们以Spark为载体可以做非常多的事情。

updateStateByKey和mapWithState 可不可以在Dstream中找到这2个方法?在Dstream中找不到。updateStateByKey和mapWithState 都是针对Key-Value的类型的数据进行操作,都是Pair类型的,跟我们前面的RDD是

关注
打赏
1659361485
查看更多评论
立即登录/注册

微信扫码登录

0.1311s