首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《Streaming Systems》第一章导读

《Streaming Systems》第一章导读

作者头像
哒呵呵
发布于 2019-03-18 07:17:39
发布于 2019-03-18 07:17:39
1.6K0
举报
文章被收录于专栏:鸿的学习笔记鸿的学习笔记

《Streaming Systems》作为去年的出版的关于实时计算的新书,主要探讨了Dataflow模型以及Streams和Tables之间的关系两块内容。趁着团队在集中精力建立实时计算框架以及应用到业务中,重新温习《Streaming Systems》,构建思维导图和导读笔记,以期对Spark 2.X和Flink有更好的理解。

《Streaming Systems》第一章分为三部分

  • 首先澄清了流(Stream)的概念,区分了有界数据集和无界数据集,重新定义了Stream和Table的关系,并从一个更高的角度认为,流处理实际是批处理的超集,也借此批评了Lambda架构给系统引入的复杂性。再之后流处理系统应该要处理的正确性(correctness)和时间推理工具(tools for reasoning about time)两个概念。
  • 梳理事件时间(event time)和处理时间(processing tim)两个实时计算过程中非常重要的概念,给出了两种不同的时间会给数据分析和处理带来的各种问题
  • 最后抽象出数据处理的共同模式,以及处理无界数据集所使用的四种方法:数据集与时间无关(time- agnostic),推测式(approximation),基于处理时间的窗口(windowing by processing time)和基于事件时间的窗口(windowing by event time)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《Streaming Systems》第二章导读
《Streaming Systems》第二章总结了构建一个正确、稳定、低时延的流处理系统将会面临的四个问题及其解决办法:
哒呵呵
2019/03/18
7270
《Streaming Systems》第二章导读
流式系统 - 第一章: Streaming 入门(一)
Streaming流式计算这个词被用来表示各种不同的东西。这种缺乏精确性的术语模糊了流式计算的真正含义。设计良好的流式计算系统与任何现有的批处理引擎一样,能够产生正确的、一致的、可重复的结果(技术上更胜一筹)。
s09g
2022/07/06
5420
由Dataflow模型聊Flink和Spark
Dataflow模型(或者说Beam模型)旨在建立一套准确可靠的关于流处理的解决方案。在Dataflow模型提出以前,流处理常被认为是一种不可靠但低延迟的处理方式,需要配合类似于MapReduce的准确但高延迟的批处理框架才能得到一个可靠的结果,这就是著名的Lambda架构。这种架构给应用带来了很多的麻烦,例如引入多套组件导致系统的复杂性、可维护性提高。因此Lambda架构遭到很多开发者的炮轰,并试图设计一套统一批流的架构减少这种复杂性。Spark 1.X的Mirco-Batch模型就尝试从批处理的角度处理流数据,将不间断的流数据切分为一个个微小的批处理块,从而可以使用批处理的transform操作处理数据。还有Jay提出的Kappa架构,使用类似于Kafka的日志型消息存储作为中间件,从流处理的角度处理批处理。在工程师的不断努力和尝试下,Dataflow模型孕育而生。
哒呵呵
2019/04/26
1.7K0
流式系统 - 第一章: Streaming 入门(三)
我们已经有了足够的背景知识,可以开始研究有边界和无边界数据处理中常见的主流类型:批处理和流处理。(在此我将微批处理和流处理相互等价,因为两者之间的差异在数据处理模式层面上并不大)
s09g
2022/07/06
6880
流式系统 - 第一章: Streaming 入门(三)
现代流式计算的基石:Google DataFlow
今天这篇继续讲流式计算。继上周阿里巴巴收购 Apache Flink 之后,Flink 的热度再度上升。毫无疑问,Apache Flink 和 Apache Spark 现在是实时流计算领域的两个最火热的话题了。那么为什么要介绍 Google Dataflow 呢?Streaming Systems 这本书在分析 Flink 的火热原因的时候总结了下面两点:
王知无-import_bigdata
2019/07/30
2.7K0
现代流式计算的基石:Google DataFlow
《Streaming Systems》第三章-水印
在上文提到过,水印是数据完整性的度量,也就是说,水印决定了流处理系统(以下用“系统”代指)何时关闭事件时间窗口(event-time window),不再接收任何迟到的数据(late data),开始计算输出结果。这样的描述很容易理解,但不够精确,因此作者基于任意一个事件都包含属于自己的逻辑时间戳的假设和事件消息在流处理系统中可以被划分为“in-flight”和“completed”两个状态,定义水印为:
哒呵呵
2019/04/09
1.2K0
是时候放弃 Spark Streaming, 转向 Structured Streaming 了
正如在之前的那篇文章中 Spark Streaming 设计原理 中说到 Spark 团队之后对 Spark Streaming 的维护可能越来越少,Spark 2.4 版本的 [Release Note](http://spark.apache.org/releases/spark-release-2-4-0.html) 里面果然一个 Spark Streaming 相关的 ticket 都没有。相比之下,Structured Streaming 有将近十个 ticket 说明。所以各位同学,是时候舍弃 Spark Streaming 转向 Structured Streaming 了,当然理由并不止于此。我们这篇文章就来分析一下 Spark Streaming 的不足,以及Structured Streaming 的设计初衷和思想是怎么样的。文章主要参考今年(2018 年)sigmod 上面的这篇论文:Structured Streaming: A Declarative API for Real-Time
Fayson
2019/06/03
1.6K0
《Streaming Systems》第四章-窗口
《Streaming Systems》第四章相较于前三个章节更为复杂,倘若不是作者给出了大量的动图,恐怕大部分读者都会晕乎乎的了吧(所以强烈建议这一章观看Safari上的动图或者是Streaming 102)。
哒呵呵
2019/04/26
1.4K1
初探Kafka Streams
Kafka在0.10版本推出了Stream API,提供了对存储在Kafka内的数据进行流式处理和分析的能力。
林一
2018/07/24
1.3K0
初探Kafka Streams
如何设计一个良好的流系统?(上)
streaming system有两篇经典博客:streaming 101和streaming 102,深刻的描述了流系统的精髓和对未来的展望,这篇文章权当一个导读的作用。
哒呵呵
2018/09/18
6410
告别「补丁」时代!全新批流一体 Domino 架构终结“批流缝合”
数字洪流冲击下,企业实时数据需求已突破传统架构的承载极限。当'批流缝合'架构深陷性能与时效的泥潭,Domino 以颠覆性设计直击本质:打破批流割裂的底层逻辑,重构数据价值流动范式。这不仅是技术革新,更是认知跃迁——数据世界正以'批流一体'为核心进行板块级重构。 诚邀你体验 YMatrix Domino 架构的变革力量:限时开放全功能企业版,开发者可零门槛接入真实业务场景压力测试。‌告别为架构冗余支付的性能'税款',突破线性时钟的决策延迟,让数据引擎真正驱动业务创新。
SQL数据库开发
2025/03/27
3310
告别「补丁」时代!全新批流一体 Domino 架构终结“批流缝合”
Flink流式处理概念简介
一,抽象层次 Flink提供不同级别的抽象来开发流/批处理应用程序。 1,stateful streaming 最底层。它通过Process Function嵌入到DataStream API中。它允
Spark学习技巧
2018/01/30
2K0
Flink流式处理概念简介
2021年大数据Spark(四十四):Structured Streaming概述
Apache Spark在2016年的时候启动了Structured Streaming项目,一个基于Spark SQL的全新流计算引擎Structured Streaming,让用户像编写批处理程序一样简单地编写高性能的流处理程序。
Lansonli
2021/10/09
9280
Flink 极简教程: 架构及原理 Apache Flink® — Stateful Computations over Data Streams
Apache Flink 是一个分布式流计算引擎,用于在无边界和有边界数据流上进行有状态的计算。
一个会写诗的程序员
2022/01/04
3.5K0
Flink 极简教程: 架构及原理 Apache Flink® — Stateful Computations over Data Streams
Streaming-大数据的未来
分享一篇关于实时流式计算的经典文章,这篇文章名为Streaming 101: The world beyond batch
用户6070864
2019/08/30
7150
Streaming-大数据的未来
大数据理论篇 - 通俗易懂,揭秘分布式数据处理系统的核心思想(一)
为了分享对大规模、无边界、乱序数据流的处理经验 ,2015年谷歌发表了《The Dataflow Model》论文,剖析了流式(实时)和批量(历史)数据处理模式的本质,即分布式数据处理系统,并抽象出了一套先进的、革新式的通用数据处理模型。在处理大规模、无边界、乱序数据集时,可以灵活地根据需求,很好地平衡数据处理正确性、延迟程度、处理成本之间的相互关系,从而可以满足任何现代数据处理场景,如:游戏行业个性化用户体验、自媒体平台视频流变现、销售行业的用户行为分析、互联网行业实时业务流处理、金融行业的实时欺诈检测等。
justmine
2019/11/07
1.6K0
Spark Streaming
很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息。
Francek Chen
2025/01/22
1610
Spark Streaming
Flink中的窗口操作是什么?请解释其作用和使用场景。
Flink中的窗口操作是一种用于对数据流进行分组和聚合的机制。它将数据流划分为有限的、连续的时间段,并在每个时间段内对数据进行聚合操作。窗口操作可以用于实时计算和流式处理场景,用于处理无界数据流并生成实时的计算结果。
GeekLiHua
2025/01/21
1660
Flink(一)
Apache Flink(德语:快速灵巧,原德国柏林大学基金会项目)是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算。ms级别水平。data flow+event sequence。
matt
2022/10/25
6400
Flink(一)
了解Structured Streaming
在2.0之前,Spark Streaming作为核心API的扩展,针对实时数据流,提供了一套可扩展、高吞吐、可容错的流式计算模型。 Spark Streaming会接收实时数据源的数据,并切分成很多小的batches,然后被Spark Engine执行,产出同样由很多小的batchs组成的结果流。
曲水流觞
2019/10/27
1.1K0
相关推荐
《Streaming Systems》第二章导读
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档