Spark 实时处理 总文章

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


 

================= 最新文章 ====================== 

1.CDH 6 的安装和使用 CDH5安装

2.用户画像

3.Spark 实时处理

4.大数据组件安装(非CDH)和使用 总文章

5.大数据组件使用 总文章

6.window下 人工智能 Keras、TensorFlow、PyTorch、CUDA、cuDNN 的环境安装 总文章window 安装 PyTorch

7.人工智能AI:Keras PyTorch 深度学习实战(不定时更新)

8.搜索引擎:Elasticsearch、Solr、Lucene

 

【日萌社】用户画像
【日萌社】C、C++笔记
【日萌社】JavaWeb+大数据笔记
【日萌社】CDH 6、CDH5
【日萌社】Python笔记
【日萌社】Keras、PyTorch
【日萌社】日语语法、日语单词 学习

链接:https://pan.baidu.com/s/1OBd1rbwGx0F8YnefM7R0Uw 
提取码:0hal
链接:https://pan.baidu.com/s/1TKNZ6TtDxDtDUnezrcXJ8Q 
提取码:2ber 
链接:https://pan.baidu.com/s/1_XWMwcoNuDPdE3xkluo08A 
提取码:b12m 
链接:https://pan.baidu.com/s/1eW8YSrasGiTXpBFSSJd78Q 
提取码:7aeu 
链接:https://pan.baidu.com/s/1xi_3T6Nw__Sy-QQaN29O4Q 
提取码:1gcs 

 

============== Spark 实时处理 总文章 =================

Spark(SparkSql) 写数据到 MySQL中(Spark读取TCP socket/文件)

Spark Streaming 整合 Kafka(Spark读取Kafka)

Spark Streaming 整合 Flume(Spark读取Flume)

Spark Streaming 开窗函数 reduceByKeyAndWindow

map、flatMap(流的扁平化)、split 的区别

===========  Spark 实时处理 介绍 =================

基于Spark通用计算平台,可以很好地扩展各种计算类型的应用,尤其是Spark提供了内建的计算库支持,像Spark Streaming、Spark SQL、MLlib、GraphX,这些内建库都提供了高级抽象,
可以用非常简洁的代码实现复杂的计算逻辑、这也得益于Scala编程语言的简洁性。这里,我们基于1.3.0版本的Spark搭建了计算平台,实现基于Spark Streaming的实时计算。  
我们的应用场景是分析用户使用手机App的行为,描述如下所示:  
  
手机客户端会收集用户的行为事件(我们以点击事件为例),将数据发送到数据服务器,我们假设这里直接进入到Kafka消息队列  
后端的实时服务会从Kafka消费数据,将数据读出来并进行实时分析,这里选择Spark Streaming,因为Spark Streaming提供了与Kafka整合的内置支持  
经过Spark Streaming实时计算程序分析,将结果写入Redis,可以实时获取用户的行为数据,并可以导出进行离线综合统计分析  
Spark Streaming介绍  
  
Spark Streaming提供了一个叫做DStream(Discretized Stream)的高级抽象,DStream表示一个持续不断输入的数据流,可以基于Kafka、TCP Socket、Flume等输入数据流创建。
在内部,一个DStream实际上是由一个RDD序列组成的。Sparking Streaming是基于Spark平台的,也就继承了Spark平台的各种特性,
如容错(Fault-tolerant)、可扩展(Scalable)、高吞吐(High-throughput)等。  

在Spark Streaming中,每个DStream包含了一个时间间隔之内的数据项的集合,我们可以理解为指定时间间隔之内的一个batch(批次),每一个batch(批次)就构成一个RDD数据集,
所以DStream就是一个个batch(批次)的有序序列,时间是连续的,按照时间间隔将数据流分割成一个个离散的RDD数据集

streaming-dstream  
我们都知道,Spark支持两种类型操作:Transformations和Actions。

Transformation从一个已知的RDD数据集经过转换得到一个新的RDD数据集,
这些Transformation操作包括map、filter、flatMap、union、join等,而且Transformation具有lazy的特性,调用这些操作并没有立刻执行对已知RDD数据集的计算操作,
而是在调用了另一类型的Action操作才会真正地执行。

Action执行,会真正地对RDD数据集进行操作,返回一个计算结果给Driver程序,或者没有返回结果,如将计算结果数据进行持久化,
Action操作包括reduceByKey、count、foreach、collect等。 

同样,Spark Streaming提供了类似Spark的两种操作类型,分别为Transformations和Output操作,它们的操作对象是DStream,作用也和Spark类似。

Transformation从一个已知的DStream经过转换得到一个新的DStream,而且Spark Streaming还额外增加了一类针对Window的操作,
当然它也是Transformation,但是可以更灵活地控制DStream的大小(时间间隔大小、数据元素个数),
例如:window(windowLength, slideInterval)、countByWindow(windowLength, slideInterval)、reduceByWindow(func, windowLength, slideInterval)等。

Spark Streaming的Output操作允许我们将DStream数据输出到一个外部的存储系统,如数据库或文件系统等,执行Output操作类似执行Spark的Action操作,
使得该操作之前lazy的Transformation操作序列真正地执行。  
  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

あずにゃん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值