数据天生就是流式的

简介: 现在依然很多人使用Azkaban/Oozie等工具衔接各个系统,通过外力让数据进行流转。而随着流式计算慢慢成熟与稳定,数据必然如河水一般,天生就是流式的。

题外话

好久没写文章,发现写长文太辛苦了,所以慢慢往短文开始靠。这次算是第一个实践。

完全由流式计算构建的体系

部门目前核心其实就是流式计算,从根部开始(一个超大的Kafka集群)开始,延伸出一个超级庞大的树形结构。整个过程都是数据自我驱动进行流转,没有使用类似Azkaban/Oozie 等外部工具去让数据从一个系统流转到另外一个系统。 而我之前提出 Transformer架构 本质就是一个流式数据架构。 
这个架构的核心概念是:
你开发的任何一个应用,本质上都是将两个或者多个节点连接起来,从而使得数据可以在不同节点之间流转

数据的流转必然由批量到流式

如果说在大数据领域,批量处理是第一次数据革命,那么流式处理则必然是第二次数据革命。
从某种角度而言,批量是流式处理的一个特例,譬如隔天处理数据,本质就是时间窗口为一天的流式计算。当然我们也可以实现以数量为窗口的计算。
当你需要借助外力的时候,事情往往就变得并不美好了。你需要额外的维护譬如Oozie等系统里的工作流,并且你需要考虑各个系统能够完成的时间,从而协调好组件。
数据流转的理想状态应该就如同河水一样,当源头水量变大后,水压会自动迫使数据自动流转速度加快。当我们需要灌溉新的农田时,我们只要接上某个河道(比如Kafka),通过创建新的支流(由流式引擎比如Spark Streaming完成),就可以很方便的将水引入。整个过程是水压驱动水的流转。

批量与流式的微妙关系

Spark Streaming的实现则让流式和批量之间的关系愈加微妙。批量处理是Spark Streaming流式处理的一个窗口特别大的特例,但是如果细加观察,Spark Streaming 的每个batch 又都是一个批处理,只是因为这个批处理可以足够小,看起来就像数据在真实流动一样,所以我们也称之为流式处理。
而Storm这种流式引擎则能实现最细粒度的流转,但是这种细粒度的流转在很多场景并不足够高效,因为在流转的过程中,往往下游无法接受来一条就处理一条的情况,需要通过小窗口的batch来完成更加高效的入库操作。
所以从某种角度而言,Spark Streaming 这种将批处理和流处理巧妙融合的方式可以保证自己可以充分利用流式和批处理的优势。
从另外一个角度而言,流式不过是一个具有无限数据的批处理过程。
目录
相关文章
|
传感器 网络协议 算法
Java网络编程实时数据流处理
在现代计算机应用程序中,处理实时数据流是一项关键任务。这种数据流可以是来自传感器、网络、文件或其他源头的数据,需要即时处理并做出相应的决策。Java提供了强大的网络编程工具和库,可以用于处理实时数据流。本文将详细介绍如何使用Java进行实时数据流处理。
140 0
|
消息中间件 JSON Java
高性能异步编程与实时流那千丝万缕的联系
在海量并发的场景下,使用异步+NIO的编程方式,最后就 会演变成一个实时流系统,看完你也会觉得很惊讶,万物都是想通的
|
2月前
|
消息中间件 存储 负载均衡
现代消息队列与云存储问题之进一步减少流处理中的读写操作的问题如何解决
现代消息队列与云存储问题之进一步减少流处理中的读写操作的问题如何解决
|
3月前
|
中间件 数据处理 Apache
|
24天前
|
消息中间件 监控 Kafka
构建高效的数据流处理系统
【9月更文挑战第32天】本文将带你进入数据流处理的奇妙世界,探讨如何构建一个既高效又可靠的数据处理系统。我们将通过一个简单的例子来演示如何从概念到实现,一步步打造你的数据流处理系统。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
37 2
|
2月前
|
消息中间件 缓存 Serverless
在进行实时数据处理时,FaaS 如何保证数据的一致性和处理的实时性?
在进行实时数据处理时,FaaS 如何保证数据的一致性和处理的实时性?
|
2月前
|
SQL 监控 大数据
"解锁实时大数据处理新境界:Google Dataflow——构建高效、可扩展的实时数据管道实践"
【8月更文挑战第10天】随着大数据时代的发展,企业急需高效处理数据以实现即时响应。Google Dataflow作为Google Cloud Platform的强大服务,提供了一个完全托管的流处理与批处理方案。它采用Apache Beam编程模型,支持自动扩展、高可用性,并能与GCP服务无缝集成。例如,电商平台可通过Dataflow实时分析用户行为日志:首先利用Pub/Sub收集数据;接着构建管道处理并分析这些日志;最后将结果输出至BigQuery。Dataflow因此成为构建实时数据处理系统的理想选择,助力企业快速响应业务需求。
153 6
|
2月前
|
消息中间件 传感器 数据处理
"揭秘实时流式计算:低延迟、高吞吐量的数据处理新纪元,Apache Flink示例带你领略实时数据处理的魅力"
【8月更文挑战第10天】实时流式计算即时处理数据流,低延迟捕获、处理并输出数据,适用于金融分析等需即时响应场景。其框架(如Apache Flink)含数据源、处理逻辑及输出目标三部分。例如,Flink可从数据流读取信息,转换后输出。此技术优势包括低延迟、高吞吐量、强容错性及处理逻辑的灵活性。
71 4
|
2月前
|
数据处理 流计算
流计算引擎数据问题之保证流计算的正确性如何解决
流计算引擎数据问题之保证流计算的正确性如何解决
21 0
|
3月前
|
消息中间件 算法 中间件