前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浪院长 | spark streaming的使用心得

浪院长 | spark streaming的使用心得

作者头像
Spark学习技巧
发布2018-09-25 17:52:40
6390
发布2018-09-25 17:52:40
举报

今天,主要想聊聊spark streaming的使用心得。

1,基本使用

主要是转换算子,action,和状态算子,这些其实,就按照api手册或者源码里接口介绍结合业务来编码。

其实,想用好spark streaming 掌握spark core,spark rpc,spark 任务调度,spark 并行度等原理还非常有必要。

2,中间状态缓存

说到中间算子大家肯定都会想到UpdateStateByKey等状态。里面很多注意事项,比如顺序性,key的超时机制维护。这个适合数据量不多,尤其是key的维度不多,value不大的情况。

当然数据量上来了,要想维护中间状态怎么办?其实这个时候肯定是第三方存储,比如redis,alluxio。redis更适合那种key带超时机制的,并且数据量肯定不能过大。而alluxio就很适合那种高吞吐量的,比如去重统计。

3,结果输出

direct streaming能保证仅一次处理,但是要求输出存储支持密等性,或者主动将结果更改为存在更新不存在插入。当然,如果外部存储系统支持事务那就更嗨,能实现恰一次处理。

实际上在offset维护这个层面上,spark streaming 不同版本于kafka不同版本结合实现有很大不同。

4,监控告警及故障自动恢复

我觉得对于监控告警及故障自动恢复,重要程度不亚于业务场景。因为再好的业务实现,架不住系统挂掉你不知道。因为你总不能二十四小时盯着系统。而且很多公司对故障自动恢复都有kpi,比如3min,人工去检测故障并恢复不太可能,需要自己实现一套监控系统。

5,调优

调优对于spark streaming非常重要,因为一个批次处理延迟就会导致job堆积,结果输出延迟,深圳任务挂掉数据丢失。调优其实最注重对spark 原理把控,数据量的了解及资源和数据的关系。

6,源码

源码阅读,为了帮助大家更透彻的理解原理。主要会分三块:

spark streaming 与kafka-0.8.2 direct stream。

spark streaming 与kafka-0.8.2 receiver based stream。

spark streaming 与kafka-0.10.2 direct api。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浪尖聊大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档