spark-streaming first insight

一、

Spark Streaming 构建在Spark core API之上,具备可伸缩,高吞吐,可容错的流处理模块。

1)支持多种数据源,如Kafka,Flume,Socket,文件等;

  • Basic sources: Sources directly available in the StreamingContext API. Examples: file systems, and socket connections.
  • Advanced sources: Sources like Kafka, Flume, Kinesis, etc. are available through extra utility classes. These require linking against extra dependencies.

2)处理完成数据可写入Kafka,Hdfs,本地文件等多种地方;

 

DStream:

Spark Streaming对持续流入的数据有个高层的抽像:

It represents a continuous stream of data

a DStream is represented by a continuous series of RDDs,Each RDD in a DStream contains data from a certain interval

Any operation applied on a DStream translates to operations on the underlying RDDs.

 

什么是RDD?

RDD是Resilient Distributed Dataset的缩写,中文译为弹性分布式数据集,是Spark中最重要的概念。

RDD是只读的、分区的,可容错的数据集合。

 

何为弹性?

RDD可在内存、磁盘之间任意切换

RDD可以转换成其它RDD,可由其它RDD生成

RDD可存储任意类型数据

 

二、基本概念

1)add dependency

<dependency>

<groupId>org.apache.spark</groupId>

<artifactId>spark-streaming_2.11</artifactId>

<version>2.3.1</version>

</dependency>

其它想关依赖查询:

https://search.maven.org/search?q=g:org.apache.spark%20AND%20v:2.2.0

 

2)文件作为DStream源,是如何被监控的?

1)文件格式须一致

2)根据modify time开成流,而非create time

3)处理时,当前文件变更不会在此window处理,即不会reread

4)可以调用 FileSystem.setTimes()来修改文件时间,使其在下个window被处理,即使文件内容未被修改过

 

三、Transform operation

window operation

 

Spark Streaming also provides windowed computations, which allow you to apply transformations over a sliding window of data.

every time the window slides over a source DStream, the source RDDs that fall within the window are combined and operated upon to produce the RDDs of the windowed DStream. 

在一个时间窗口内的RDD被合并为一个RDD来处理。

Any window operation needs to specify two parameters:

window length: The duration of the window

sliding interval: The interval at which the window operation if performed

 

四、Output operation

使用foreachRDD

dstream.foreachRDD is a powerful primitive that allows data to be sent out to external systems. However, it is important to understand how to use this primitive correctly and efficiently. 

 

CheckPoint概念

 

Performance Tuning

 

Fault-tolerance Semantics

 

转载于:https://www.cnblogs.com/gm-201705/p/9533271.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DHCP服务器 出现的故障

系统版本&#xff1a;Windows Server 2008 R2 Standard 故障现象&#xff1a;近段时间&#xff0c;我们核心网络DHCP服务器&#xff0c;总是发现有掉线重起现象&#xff0c;大约每10分钟至30分钟不定时会重起。 故障代码&#xff1a;关键系统进程 C:\Windows\system32\lsass.ex…

双亲委派

双亲委派模式的工作原理的是:如果一个类加载器收到了类加载请求&#xff0c;它并不会自己先去加载&#xff0c;而是把这个请求委托给父类的加载器去执行&#xff0c;如果父类加载器还存在其父类加载器&#xff0c;则进一步向上委托&#xff0c;依次递归&#xff0c;请求最终将到…

程序设计入门-C语言基础知识-翁恺-第六周:数组-详细笔记(六)

目录 第六章&#xff1a;数组6-1 数组6-2 数组计算6.3 课后习题第六章&#xff1a;数组 6-1 数组 题目&#xff1a;让用户输入一组整数以-1结束输入&#xff0c;算出这组数的平均值&#xff0c;并且输出大于平均值的数。 我们需要记录用户所有输入的数字才能在判断出平均值后输…

Vue学习【第六篇】:Vue-cli脚手架(框架)与实战案例

环境搭建 安装node 官网下载安装包&#xff0c;傻瓜式安装&#xff1a;https://nodejs.org/zh-cn/ 安装cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org 安装脚手架 cnpm install -g vue/cli 清空缓存处理 npm cache clean --force 项目的创建 创建项目 v…

Docker安装配置教程

Docker安装配置教程

Python学习第十六篇——异常处理

在实际中&#xff0c;很多时候时候&#xff0c;我们并不能保证我们所写的程序是完美的。比如我们程序的本意是&#xff1a;用户在输入框内输入数字&#xff0c;并进行后续数学运算&#xff0c;即使我们提醒了用户需要输入数字而不是文本&#xff0c;但是有时会无意或者恶意输入…

cmd 常用命令

注&#xff1a;绿色的为比较常用的命令 命令名称ASSOC 显示或修改文件扩展名关联。ATTRIB显示或更改文件属性。BREAK 设置或清除扩展式 CTRLC 检查。CACLS显示或修改文件的访问控制列表(ACL)。BCDEDIT 设置启动数据库中的属性以控制启动加载。CALL从另一个批处理程序调用这一个…

js打字的效果

HTML代码&#xff1a; <div id"box"></div> javascript代码&#xff1a; var index 0; var word "8月6日美国的经济“制裁”如约而至&#xff0c;特朗普在社交网站发文称&#xff0c;对伊朗的制裁已经正式实施&#xff0c;他称这是“有史以来最激…

递归函数实现二分查找法

最初版本&#xff1a; 改进版&#xff1a; 最终版本&#xff1a; 递归实现阶乘&#xff1a; 转载于:https://www.cnblogs.com/www-qcdwx-com/p/10399288.html

图解LinkedHashMap原理

1 前言 LinkedHashMap继承于HashMap&#xff0c;如果对HashMap原理还不清楚的同学&#xff0c;请先看上一篇&#xff1a;图解HashMap原理 2 LinkedHashMap使用与实现 先来一张LinkedHashMap的结构图&#xff0c;不要虚&#xff0c;看完文章再来看这个图&#xff0c;就秒懂了…

02、体验Spark shell下RDD编程

02、体验Spark shell下RDD编程 1、Spark RDD介绍 RDD是Resilient Distributed Dataset&#xff0c;中文翻译是弹性分布式数据集。该类是Spark是核心类成员之一&#xff0c;是贯穿Spark编程的始终。初期阶段&#xff0c;我们可以把RDD看成是Java中的集合就可以了&#xff0c;在后…

CDH集群安装配置(四)- mysql 的安装

安装mysql&#xff0c;并且创建相关的表&#xff08;只需要在chd1上面安装而且需要root权限&#xff09;1.1 查看Centos自带mysql是否已经安装 yum list installed | grep mysql 卸载自带mariadb# rpm -qa | grep mariadb mariadb-libs-5.5.41-2.el7_0.x86_64 # rpm -e --nodep…

EF另一个 SqlParameterCollection 中已包含 SqlParameter。

代码&#xff1a; SqlParameter[] commandParameters new SqlParameter[]{new SqlParameter("CultID",filters.ParentID)};var result db.Database.SqlQuery<FM_PlantSolutions>("select s.* ,u.UserName as PrincipalName,isnull(ue.UserName,无) as E…

2019 GUDT RC 2 Problem C(题解)

原题 题目大意 这道题的背景是农夫和牛爬山,给出山的高度L,农夫会从山底以rF的速度爬山,中途不会休息,牛会从山底以rB的速度爬山,可以在休息站休息并吃草,在第i个休息站休息ti时间,牛可以吃t*ci的草,第i个休息站的高度为xi.农夫和牛同时出发,要求牛在不被农夫追上的同时吃最多的…

maven setting.xml 中文配置详解(全配置)

<?xml version"1.0" encoding"UTF-8"?> <!--| 官方文档: https://maven.apache.org/settings.html|| Maven 提供以下两种 level 的配置:|| 1. User Level. 当前用户独享的配置, 通常在 ${user.home}/.m2/settings.xml 目录下。 | …

String/Stringbuilder/StringBuffer

三个的运行速度&#xff1a;Stringbuilder>Stringbuffer>String String最慢是因为它是字符串常量&#xff0c;而其他两个是字符串变量。其中stringbuilder是非线程安全的、stringbuffer是线程安全的Stringbuilder适用于单线程且数据量大的字符串操作Stringbuffer适用于多…

CCF 差分约束--201809再卖菜

问题描述 在一条街上有n个卖菜的商店&#xff0c;按1至n的顺序排成一排&#xff0c;这些商店都卖一种蔬菜。   第一天&#xff0c;每个商店都自己定了一个正整数的价格。店主们希望自己的菜价和其他商店的一致&#xff0c;第二天&#xff0c;每一家商店都会根据他自己和相邻商…

Express + Element-ui 实现图片/文件上传

使用第三方插件 formidable 处理表单数据/文件 Express 4 以前&#xff0c;我们通常使用 req.files 来对请求中的文件进行处理&#xff0c;但在 Express 4 中这种用法已经被抛弃&#xff0c;默认情况下 req.files 在 req 对象上不再可用。官方推荐我们使用第三方中间件。 在这里…

weblogic12.1.3安装

weblogic weblogic12.1.3安装 环境&#xff1a; centos7.5 ip: 192.168.0.94 1、安装jdk 2、安装 weblogic 下载、解压安装包 wls1213_dev.zip unzip /application/weblogic12/wls1213_dev.zip mv wls12130 /application/weblogic12/ 配置环境变量 配置主机名解析 运行安装…