版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/rlnLo2pNEfx9c/article/details/82505159

今天。主要想聊聊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。

这些内容比較多。本周日晚上八点到十点浪尖准备搞个qq直播。对这些内容有兴趣的小伙伴能够扫码參团,费用不高。算是对浪尖创作的支持吧。

当然,准备是两到三次。每次两个小时,实际次数看效率。

參与直播的直接联系微信 158570986

当然,要是喜欢浪尖,更希望增加浪尖知识星球,球友能够免费參与直播。

https://mmbiz.qpic.cn/mmbiz_jpg/adI0ApTVBFWEbA0t2WgVoUbCSPAic4uAuwkHOg8iczLJQ4gpogt2Gy2FelL1iaM9jW6IPAtjuB4c3ZmfmNb1vRy2w/640?wx_fmt=jpeg" alt="640?wx_fmt=jpeg" />

浪院长 | spark streaming的使用心得的更多相关文章

  1. Spark 以及 spark streaming 核心原理及实践

    收录待用,修改转载已取得腾讯云授权 作者 | 蒋专 蒋专,现CDG事业群社交与效果广告部微信广告中心业务逻辑组员工,负责广告系统后台开发,2012年上海同济大学软件学院本科毕业,曾在百度凤巢工作三年, ...

  2. 基于Spark Streaming预测股票走势的例子(一)

    最近学习Spark Streaming,不知道是不是我搜索的姿势不对,总找不到具体的.完整的例子,一怒之下就决定自己写一个出来.下面以预测股票走势为例,总结了用Spark Streaming开发的具体 ...

  3. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  4. Spark Streaming+Kafka

    Spark Streaming+Kafka 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端, ...

  5. Storm介绍及与Spark Streaming对比

    Storm介绍 Storm是由Twitter开源的分布式.高容错的实时处理系统,它的出现令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求.Storm常用于在实时分析.在线机器学 ...

  6. flume+kafka+spark streaming整合

    1.安装好flume2.安装好kafka3.安装好spark4.流程说明: 日志文件->flume->kafka->spark streaming flume输入:文件 flume输 ...

  7. spark streaming kafka example

    // scalastyle:off println package org.apache.spark.examples.streaming import kafka.serializer.String ...

  8. Spark Streaming中动态Batch Size实现初探

    本期内容 : BatchDuration与 Process Time 动态Batch Size Spark Streaming中有很多算子,是否每一个算子都是预期中的类似线性规律的时间消耗呢? 例如: ...

  9. Spark Streaming源码解读之No Receivers彻底思考

    本期内容 : Direct Acess Kafka Spark Streaming接收数据现在支持的两种方式: 01. Receiver的方式来接收数据,及输入数据的控制 02. No Receive ...

随机推荐

  1. bootstrap AdminLTE模版的使用

    参考:  https://adminlte.io/themes/AdminLTE/documentation/index.html  https://blog.csdn.net/gebitan505/ ...

  2. 启动 ServiceFabric Windows服务报1053

    Remote Procedure Call (RPC) Locator和 Windows Firewall是否启动. 以管理员身份运行PowerShell,输入Unregister-Scheduled ...

  3. P2279 [HNOI2003]消防局的设立 贪心or树形dp

    题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状 ...

  4. Redis闪退解决办法

    复杂办法! cmd 进入命令,cd进入redis文件 输入:redis-server.exe redis.windows.conf,手动开启! 简单办法,删除重新下载! 不确定办法如下 1.在解压的r ...

  5. Codeforces 870C Maximum splitting (贪心+找规律)

    <题目链接> 题目大意: 给定数字n,让你将其分成合数相加的形式,问你最多能够将其分成几个合数相加. 解题分析: 因为要将其分成合数相加的个数最多,所以自然是尽可能地将其分成尽可能小的合数 ...

  6. UVA 796 Critical Links(模板题)(无向图求桥)

    <题目链接> 题目大意: 无向连通图求桥,并将桥按顺序输出. 解题分析: 无向图求桥的模板题,下面用了kuangbin的模板. #include <cstdio> #inclu ...

  7. springboot2.0 redis EnableCaching的配置和使用

    一.前言 关于EnableCaching最简单使用,个人感觉只需提供一个CacheManager的一个实例就好了.springboot为我们提供了cache相关的自动配置.引入cache模块,如下. ...

  8. 使用shiro安全管理

    之前介绍了springboot使用security进行权限管理,这篇文件介绍一下springboot使用shiro进行安全管理. 简述本文的场景,本文使用springboot1.5.9+mysql+j ...

  9. H5与Native交互之JSBridge技术

    一.原理篇 下面分别介绍IOS和Android与Javascript的底层交互原理 IOS 在讲解原理之前,首先来了解下iOS的UIWebView组件,先来看一下苹果官方的介绍: You can us ...

  10. RFID的winform程序心得2

    RFID的winform程序心得1 webBrowser1.AllowWebBrowserDrop = false;//将 WebBrowser 控件的 AllowWebBrowserDrop 属性设 ...