当前课程知识点:高级大数据系统 > Streaming Data Processing > Introduction to streaming data processing > Video
各位同学大家好
欢迎大家来到我们的课堂
在之前的课程中
我们讲了大数据处理的两种模式
一个我们使用MapReduce这种模式
我们进行基于分布式文件系统的
并行化数据处理
这种模式
它的编程方式简单
只有Map和Reduce两个过程
可以在大规模的数据集上
在大规模的节点上
进行数据的处理和数据的分析
之后我们又讲了Spark
In Memory process这种模式
在这种模式下
数据可以通过一系列的
转化 Transform和Action
连接在一起
形成数据处理的框架
今天我们会介绍
一种新的数据处理的模式
这种数据处理的模式
针对的是流式的数据
或者叫做 Streaming Data
这种数据的特征是
数据不能被有效地存储在磁盘上
比如说数据特别大
或者说数据的处理
需要有非常高的延时的保证
比如说在秒级就得到一个反馈
那么在这样的一个数据处理的模式下
需要用什么样的框架
才能得到有效的数据分析呢
这是我们今天要讲的内容
在今天的内容中
我们会介绍这些方面的知识
第一个就是流式数据处理它的模式
为什么要用流式数据处理
那么它的挑战和设计的思路是什么样的
然后我们会介绍一个原型系统
Storm来介绍在Storm中怎么样解决这些挑战
它设计了什么样的框架
什么样的模式来做到流式数据的处理
然后我们会介绍
另外一个原型Spark Streaming
这两种系统Storm和Spark Streaming
分别使用了两种不同的设计思路
来实现流式数据的处理
流式数据的设计
它最开始的初衷是什么样的呢
它的初衷就是
在今天的互联网
或者大数据处理的生态环境下
有大量的数据需要实时反馈
它不能被有效的存储
它不能被批量的处理
而必须在一个很短的时间窗口
得到一系列的数据处理
这时有大量的应用提出了这些需求
这样的应用包括哪些呢
社交媒体用户在不停地生成内容
发照片发视频
形成了一个流式的数据形态
这种形态可能在很多系统中
并不能够让用户把数据保存下来
这样系统去进行有效的分析
通常是需要在用户发了之后
就得到一些这样的反馈
那么Web Data
Web自从2.0之后
实际上每天大家会通过Web
产生各种各样的数据
这些数据同样没有办法
被独立的一个公司
或者独立的一个数据机构留下存储
也需要以流式的方式进行数据处理
来入侵检测
入侵检测它尽管数据量可能并不大
但是它要求的实时性却很高
比如说当我们发现有
黑客攻击系统的时候
我们需要在比较短的时间里得到一个响应
在这样的数据数据处理要求底下
实际上流式数据
也是我们需要的一种模式
在针对这样的应用进行
流式处理的过程中
我们有哪些具体的需要呢
首先 我们和原来的MapReduce和Spark一样
我们需要用大量的机器
去处理这样的数据
我们希望这个过程是比较容易的
比如说也让用户像编MapReduce一样
能够实现一个流式处理的这样一个流程
同时我们有latencies的要求
在MapReduce里面
我们一个任务动辄
就需要几十分钟或者几个小时去执行
但是在流式处理中
我们希望这样延迟能够下降到秒级
甚至更低的毫秒级
在我们有了这样的一些需求之后
到底什么样的数据处理模式
我们能把它叫做流式数据处理
实际上我们给了一些流式数据
处理的特征的定义
就像大家看到的
首先呢
它能够把流式的数据源
作为它的输入
这种数据源包括
比如说互联网的
这种入侵检测的数据
或者社交媒体的
这种社交媒体的数据流
第二 它能够达到秒级的
或者毫秒级的这样一个低延迟
当数据过来之后
我下一秒钟
就能够得到上一秒种发的数据的统计
或者分析的结果
第三 它能够同时支持batch
和interactive的这种操作
那batch
比如像MapReduce这种模式的处理
我们把它叫做batch
interactive是实时的接受用户的输入
两种模式都希望
能够在Streaming的
Data Processing的系统中
得到有效的支撑
那么同样对于用户来说
希望这个过程是没有那么多痛苦的
它能够很容易的去学习
很容易的去编程
这是我们对流式数据处理
在我们设计系统的时候
希望达到的一个效果
我们提出这样的目标
那么它的这样一些具体的要求
我们把它量化出来
实际上是有下面的这几个点
第一 它能够支持成百上千
这样的一个服务器的规模
并且服务器可以不断地往里面去加
第二 它的延迟
我们刚刚已经提到
它有一个延迟上的需求
第三 它有一个比较简单的编程模式
比如说能不能把它的模式
也像MapReduce一样
变成两个阶段或者三个阶段
这样一个简单的过程
第四 它能够把batch
和interactive给整合进去
这是我们对流式数据
处理系统它的一个要求
那么有了这样的要求之后
实际上在最近几年的时间里面
一系列的这种开源或者闭源的系统
为了这样的目的被设计出来
那么今天我们会去介绍的
第一个系统叫做Storm
它基于Hadoop的生态环境
实现了流式数据的处理
并且能够和分布式文件系统
HDFS进行无缝的一个衔接
使得流式和批量数据处理
能够有效地结合在一起
然后我们介绍Spark Streaming
同样 它基于了Spark的生态环境
利用了Spark的资源管理
和内存化计算的框架
同样 它可以和Spark的一些模块
进行有机的一个整合
-What is big data and what is big data system?
--Video
-Problems in big data systems?
--Video
-Overview of the course
--Video
-Principles of big data system design
--Video
-Manipulating Data on Linux
--Video
--Video
--Video
-Basics of Linux Data Processing--Manipulating Data
-Running Commands on a Single Machine
--Video
-Running Commands on a Single Machine--作业
-Using a Linux Cluster
--Video
-Using a Linux Cluster--作业
-Storage for Big Data Computing: Distributed file system
--Video
-Storage for Big Data Computing: Distributed file system--作业
-File system and GFS
--Video
-File system and GFS--作业
-Understanding HDFS using Legos
--Video
-Understanding HDFS using Legos--作业
-File System Implementation and DFS
--Video
--Video
-File System Implementation and DFS--作业
-What is MapReduce and why
--Video
-What is MapReduce and why
-Learn MapReduce by playing with cards
--Video
-Processing pattern
--Video
-Processing pattern--作业
-Hadoop
--Video
-Hadoop--作业
-Algorithms in MapReduce
--Video
-Algorithms in MapReduce--作业
-Tutorial
--Video
-Background
--Video
-Background--作业
-Spark
--Video
-Spark--作业
-Use Spark for data mining
--Video
-Use Spark for data mining--作业
-Spark data processing
--Video
-Spark data processing--作业
-Experiment in Spark
--Video
-Experiment in Spark--作业
-Introduction to streaming data processing
--Video
-Introduction to streaming data processing--作业
-Storm
--Video
--Video
--Video
-Storm--作业
-Spark streaming
--Video
--Video
-Spark streaming--作业
-NoSQL introduction
--Video
-NoSQL introduction--作业
-Common Advantages
--Video
-Common Advantages--作业
-Bigtable
--Video
-Bigtable--作业
-Master Startup
--Video
-Master Startup--作业
-HBase
--Video
-HBase--作业
-What is GraphDB and Graph data processing
--Video
-What is GraphDB and Graph data processing--作业
-Graph systems
--Video
-Graph systems
-Example of a GraphDB
--Video
-Example of a GraphDB--作业
-Mahout
--Video
-Mahout--作业
-Case Study: Recommendation
--Video
-Case Study: Recommendatio作业
-Recommendation in Mahout
--Video
-Recommendation in Mahout--作业