在传统的数据处理过程中,往往先将数据存入数据库中,当需要的时候再去数据库中进行检索查询,将处理的结果返回给请求的用户;另外,hadoop中的MapReduce这类大数据处理框架,更多应用在离线计算场景中。
而对于一些实时性要求高的场景,期望延迟在秒甚至毫秒级别,就需要引出一种新的数据计算机构-流式计算,而无边界的数据进行连续不断的处理、聚合和分析。
实时性要求高的场景:
网上购物的实时大屏
双十一,网上商城实时订单销售额和产品数量大屏显示,要求:
(1)数据量大,可能秒上万订单量
(2)快速的处理,按要求统计不同维度销售订单额
此时:传统的批处理、离线处理、处理历史数据是无法满足要求的。
目录
案例1:连接到node2 8888端口,接收实时数据做分析。
(4)、从SparkConf创建StreamingContext并指定5s的批处理大小
(5)、启动连接到node2 8888端口上,使用收到的数据创建DStream
一、流式计算处理模式
模式一:所有输入记录按一条接一条的处理。
模式二:微批处理(batch)
将输入的数据以某一时间间隔T,切分成多个微批量数据,然后对每个批量数据进行处理。spark streaming采用的就是这种方式。
1. spark streaming介绍
官网:Apache Spark™ - Unified Engine for large-scale data analytics
Spark streaming在spark中的位置
Spark streaming是spark生态系统中的一个重要框架,它建立在spark core之上。
2. 数据流程
spark streaming 是一个基于spark core 之上的实时计算框架,可以从很多数据源消费数据,并进行实时的处理,最后,可以将结果存储到Hdfs,数据库或实时仪表板,具有高吞吐量和容错能力强的特点。
官网:Spark Structured Streaming | Apache Spark
3. 计算思想
spark