【观察】常用的流式框架(二)-- Spark与Flink

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介:
   Spark由加州大学伯克利分校于2009年开发,第二年开源,2014年成为Apache顶级项目。作为MapReduce的继任者,Spark可以提供高水准API(如RDD--可恢复分布式数据集;Dstream--离散无序的RDD),其社区在2015年就有超过1000名贡献者,知名的用户包括亚马逊、eBay、雅虎、IBM、百度等。
    2013年Spark Streaming成为Spark的核心,严格意义上说它是跑微批量(Micro-Batching)的架构,所以会有几秒钟的延时,但Spark Streaming支持丰富的状态数据、无重复传输并且扩展性极佳。一般地,流式数据经过Spark Streaming被切分成微批量,再由Spark引擎处理。
AI 代码解读

1

    Spark的一个应用就是统计网页访问量,可以用Python调取Spark Streming的接口,首先我们先读取服务端的站点地址(pageViews)并定义读取间隔,然后根据URLMap算法将数据归类(ones--即每一个访问事件被定义为一个最小元素),最后使用Reduce算法将不同URLGET事件聚合统计出浏览量。
AI 代码解读

2

    最后登场的是Flink,它于2010年由柏林工业大学、柏林洪堡大学和德国波茨坦普拉特拉学院联合开发,起初名字叫Stratosphere,在2014年进入Apache孵化计划并更名为Flink,2015年成为Apache顶级项目。Flink作为原生的流处理器,延时小于100毫秒;可以为应用提供流式或批量的虚拟API;支持数据表/SQL,CEP,机器学习,Gelly等多种特征库;目前的用户包括阿里巴巴、爱立信、奥拓,ResearchGate,Zalando等。
    Flink的架构将批量应用与流式应用在数据层汇聚,这个数据层可以分布式地部署在搭在Hadoop Yarn、Apache Mesos和Kubernetes上甚至可以单独作为集群搭建,无高可用之虞。此外Flink还提供多种API和库接口(有流式的及批量优化的)供第三方接入开发(Java/Scala/Python)
AI 代码解读

3

    Flink适合支持日事务处理量达几万亿条的应用、需要维护TB级状态数据的应用及有数千节点的应用,在处理大型状态数据的时候,Flink会将状态数据按时序分窗口按批次存储,恢复的时候也会从分布式文件系统种按批次恢复。
AI 代码解读

4

    当有任意Flink节点宕机时,系统是如何实现高可用的呢?Flink会将数据流按顺序切分成多个分区(Partition),然后为每个分区计算检查点(CheckPoints),在恢复节点时,只需重置检查点状态,然后将此检查点后的数据由别的节点上重播入宕机节点即可。
AI 代码解读

5

    介绍完了五种(Storm和Storm Trident算作两种,尽管)框架,我们来比较下他们的优劣势。
AI 代码解读

6

    对于数据的严密性,StormSamza都会检查至少一次;延时性角度Storm远小于100ms表现最优;但对于状态数据StormTrident只能处理小型数据,不及SamzaSpark StreamingFlink;严格意义上说TridentSpark Streaming是微批量的处理方式;由于Samza没有数据缓冲区,因此就不存在反压问题;除Storm外,另外四种架构都是能保证数据时序的;延展性方面,StromTridentSpark Streaming表现更优,可以在运行时直接添加新的节点。
    根据在雅虎研究所的测试报告显示:“StormFlink的处理延时最低,Spark支持高的数据吞吐量,但代价就是会有较大延时。”
    除了这五大体系之外,还有一些非主流的流式处理系统,比如的googleDataflowIBMInfoSphere Streams等,这里就不一一赘述了。
AI 代码解读

7

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
打赏
0
1
0
0
9
分享
相关文章
Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
【10月更文挑战第10天】Spark和Flink的区别是什么?如何选择?都应用在哪些行业?
558 1
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
358 2
ClickHouse与大数据生态集成:Spark & Flink 实战
基于 Flink CDC YAML 的 MySQL 到 Kafka 流式数据集成
本教程展示如何使用Flink CDC YAML快速构建从MySQL到Kafka的流式数据集成作业,涵盖整库同步和表结构变更同步。无需编写Java/Scala代码或安装IDE,所有操作在Flink CDC CLI中完成。首先准备Flink Standalone集群和Docker环境(包括MySQL、Kafka和Zookeeper),然后通过配置YAML文件提交任务,实现数据同步。教程还介绍了路由变更、写入多个分区、输出格式设置及上游表名到下游Topic的映射等功能,并提供详细的命令和示例。最后,包含环境清理步骤以确保资源释放。
332 2
基于 Flink CDC YAML 的 MySQL 到 Kafka 流式数据集成
基于OpenLake的Flink+Paimon+EMR StarRocks流式湖仓分析
阿里云OpenLake解决方案建立在开放可控的OpenLake湖仓之上,提供大数据搜索与AI一体化服务。通过元数据管理平台DLF管理结构化、半结构化和非结构化数据,提供湖仓数据表和文件的安全访问及IO加速,并支持大数据、搜索和AI多引擎对接。本文为您介绍以Flink作为Openlake方案的核心计算引擎,通过流式数据湖仓Paimon(使用DLF 2.0存储)和EMR StarRocks搭建流式湖仓。
711 5
基于OpenLake的Flink+Paimon+EMR StarRocks流式湖仓分析
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
136 1
Structured Streaming和Flink实时计算框架的对比
本文对比了Structured Streaming和Flink两大流处理框架。Structured Streaming基于Spark SQL,具有良好的可扩展性和容错性,支持多种数据源和输出格式。Flink则以低延迟、高吞吐和一致性著称,适合毫秒级的流处理任务。文章详细分析了两者在编程模型、窗口操作、写入模式、时间语义、API和库、状态管理和生态系统等方面的优劣势。
深入探讨Apache Flink:实时数据流处理的强大框架
在数据驱动时代,企业需高效处理实时数据流。Apache Flink作为开源流处理框架,以其高性能和灵活性成为首选平台。本文详细介绍Flink的核心特性和应用场景,包括实时流处理、强大的状态管理、灵活的窗口机制及批处理兼容性。无论在实时数据分析、金融服务、物联网还是广告技术领域,Flink均展现出巨大潜力,是企业实时数据处理的理想选择。随着大数据需求增长,Flink将继续在数据处理领域发挥重要作用。
530 0
阿里云实时计算Flink版测评报告
该测评报告详细介绍了阿里云实时计算Flink版在用户行为分析与标签画像中的应用实践,展示了其毫秒级的数据处理能力和高效的开发流程。报告还全面评测了该服务在稳定性、性能、开发运维及安全性方面的卓越表现,并对比自建Flink集群的优势。最后,报告评估了其成本效益,强调了其灵活扩展性和高投资回报率,适合各类实时数据处理需求。
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
本文介绍了阿里云开源大数据团队在实时计算领域的最新成果——向量化流计算引擎Flash。文章主要内容包括:Apache Flink 成为业界流计算标准、Flash 核心技术解读、性能测试数据以及在阿里巴巴集团的落地效果。Flash 是一款完全兼容 Apache Flink 的新一代流计算引擎,通过向量化技术和 C++ 实现,大幅提升了性能和成本效益。
2182 73
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等