
基于 Apache Flink 和腾讯云弹性 MapReduce ( EMR )构建批流一体数据平台,利用 Flink 统一 API 和执行引擎,结合 EMR 云端托管服务,同时支持批处理和流处理,简化数据架构。
随着企业数字化转型的深入,数据产生的速度和量级都在持续增长。传统的批处理模式已经无法满足业务对实时性的需求,实时流式数据计算逐渐成为企业数据平台的核心能力。
实时流式数据计算指的是对持续产生的无界数据流进行实时处理和分析,能够在数据产生的同时完成计算,从而实现业务监控、实时推荐、风险预警等场景的即时响应。
在企业的实际业务中,往往同时存在批处理和流处理两种需求:
传统架构中,企业需要分别构建批处理和流处理两套系统,导致架构复杂、维护成本高、数据口径不一致等问题。
批流一体架构旨在用一套统一的编程模型和执行引擎,同时处理有界数据(批处理)和无界数据(流处理),从而简化数据处理架构。
Apache Flink 是实现批流一体的核心计算引擎。 Flink 将批处理视为流处理的一种特例(有界流),通过统一的 DataStream API 和 Table/SQL API ,实现了一套代码可以同时支持批处理和流处理。
Flink 的批流一体执行模式主要包括以下三种:
执行模式 | 说明 | 适用场景 |
|---|---|---|
STREAMING 模式 | 传统的流处理执行模式,适用于处理无界数据流 | 实时数据处理 |
BATCH 模式 | 专门为有界数据优化的批处理执行模式 | 离线数据分析 |
AUTOMATIC 模式 | 自动根据数据源类型选择执行模式 | 混合场景 |
Flink 批流一体的设计理念包括:
腾讯云弹性 MapReduce ( EMR )是基于云原生技术和泛 Hadoop 生态开源技术的安全、低成本、高可靠的开源大数据平台。
EMR 提供易于部署及管理的 Hive 、 Spark 、 HBase 、 Flink 、 StarRocks 、 Iceberg 、 Alluxio 等开源大数据组件,帮助客户高效构建云端企业级数据湖技术架构。
EMR 的主要特性包括:
EMR 支持两种部署形态:
将 Flink 部署在 EMR 集群上,可以充分利用 EMR 提供的集群管理能力、运维监控能力和弹性伸缩能力,构建企业级批流一体数据平台。
Flink on EMR 批流一体方案主要由以下部分组成:
在 EMR 上运行 Flink 作业时,可以通过设置执行模式来决定作业的运行方式:
EMR 支持 Iceberg 、 Hudi 、 Paimon 等数据湖格式,这些格式与 Flink 深度集成,可以实现:
基于 Flink on EMR 的批流一体方案适用于以下场景:
通过 Flink 的实时处理能力,将业务数据实时写入数据湖,同时支持实时的查询和分析。批处理作业可以基于同一份数据进行计算,生成报表和统计分析结果。
利用 Flink 的实时处理能力,对用户行为数据进行实时分析,及时更新推荐模型,实现个性化推荐。
对交易数据进行实时监测,及时发现异常交易行为,防范金融风险。
在需要快速计算以及数据挖掘能力的业务场景, EMR 可以提供高效的云端流计算服务以及数据挖掘组件能力支撑。
Flink on EMR 批流一体方案具有以下优势:
了解更多产品详情:腾讯云弹性 MapReduce ( EMR )
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。