浪院长 | spark streaming的使用心得
今天。主要想聊聊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的使用心得的更多相关文章
- Spark 以及 spark streaming 核心原理及实践
收录待用,修改转载已取得腾讯云授权 作者 | 蒋专 蒋专,现CDG事业群社交与效果广告部微信广告中心业务逻辑组员工,负责广告系统后台开发,2012年上海同济大学软件学院本科毕业,曾在百度凤巢工作三年, ...
- 基于Spark Streaming预测股票走势的例子(一)
最近学习Spark Streaming,不知道是不是我搜索的姿势不对,总找不到具体的.完整的例子,一怒之下就决定自己写一个出来.下面以预测股票走势为例,总结了用Spark Streaming开发的具体 ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark Streaming+Kafka
Spark Streaming+Kafka 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端, ...
- Storm介绍及与Spark Streaming对比
Storm介绍 Storm是由Twitter开源的分布式.高容错的实时处理系统,它的出现令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求.Storm常用于在实时分析.在线机器学 ...
- flume+kafka+spark streaming整合
1.安装好flume2.安装好kafka3.安装好spark4.流程说明: 日志文件->flume->kafka->spark streaming flume输入:文件 flume输 ...
- spark streaming kafka example
// scalastyle:off println package org.apache.spark.examples.streaming import kafka.serializer.String ...
- Spark Streaming中动态Batch Size实现初探
本期内容 : BatchDuration与 Process Time 动态Batch Size Spark Streaming中有很多算子,是否每一个算子都是预期中的类似线性规律的时间消耗呢? 例如: ...
- Spark Streaming源码解读之No Receivers彻底思考
本期内容 : Direct Acess Kafka Spark Streaming接收数据现在支持的两种方式: 01. Receiver的方式来接收数据,及输入数据的控制 02. No Receive ...
随机推荐
- content字符生成配合CSS3 animation的点点点loading
CSS代码: dot { display: inline-block; height: 1em; line-height: 1; vertical-align: -.25em; overflow: h ...
- 爬虫2 urllib用法
from urllib import request,parse # 1. 解析数据 # 解析一条 # response = request.urlopen(url='http://httpbin.o ...
- Manager解决Process进程之间的数据访问
import multiprocessing mgr = mutiprocessing.Manager() 开启一个守护子进程,并返回用来与其通信的管理器 share_list = mgr.list( ...
- Unity容器的简单AOP与DI的应用Demo(基于asp.net mvc框架)
转发请注明出处:https://home.cnblogs.com/u/zhiyong-ITNote/ 整个Demo是基于Controller-Service-Repository架构设计的,每一层之间 ...
- Windows 账户名及机器名相关问题记录
问题 1 背景:因为部门调动,需要接手同事的 PC.相关工具配置好之后,通过"控制面板->用户帐户和家庭安全->用户帐户->管理帐户->更改帐户->重命名帐户& ...
- BZOJ.3938.Robot(李超线段树)
BZOJ UOJ 以时间\(t\)为横坐标,位置\(p\)为纵坐标建坐标系,那每个机器人就是一条\(0\sim INF\)的折线. 用李超线段树维护最大最小值.对于折线分成若干条线段依次插入即可. 最 ...
- 洛谷 P2814 家谱(gen)
题目背景 现代的人对于本家族血统越来越感兴趣. 题目描述 给出充足的父子关系,请你编写程序找到某个人的最早的祖先. 输入输出格式 输入格式: 输入由多行组成,首先是一系列有关父子关系的描述,其中每一组 ...
- Java并发编程(七)-- ThreadLocal
提到ThreadLocal,有些Android或者Java程序员可能有所陌生,可能会提出种种问题,它是做什么的,是不是和线程有关,怎么使用呢?等等问题,本文将总结一下我对ThreadLocal的理解和 ...
- 2011 ACM 0和1思想
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2011 题意:求1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...前n项的和. 思路 ...
- KTV项目之3个ListView的跳转和加载歌手图片
第一个ListView: 第二个ListView: 第三个ListView: 定义一个KTVUtil类,在里面定义一个静态变量保存歌手图片 //定义一个静态变量保存歌手图片路径 public stat ...