25、实时Hadoop应用架构:从Lambda到未来

实时Hadoop应用架构:从Lambda到未来

1. 解决实时与批量处理问题的架构探索

在处理实时和批量数据时,存在诸多挑战。一种解决方案是使用一种能抽象实时和批量框架的语言或框架,这样代码就能按需用于流处理或MapReduce。Kappa架构和Butterfly架构就是为克服这些问题而提出的。

Lambda架构有其优缺点,并非适用于所有类型的数据或业务目标。它管理和调优批量与速度层两个操作系统的运营负担很高,添加新特性时也受限,还可能无法使用一些流行的Hadoop组件和工具。

2. Kappa架构详解

2014年夏天,Jay Kreps提出了Kappa架构。其概念简单,使用流处理引擎(如Spark、Kafka等)保留可能需要重新处理的数据的完整日志。若需重新处理,启动流处理作业的第二个实例,从保留数据的开头开始处理,并将输出写入新的目的地。处理完成后,将应用切换到从新的输出目的地读取数据,然后停止旧作业并删除旧输出目的地。

Kappa架构有两层:流处理层和服务层。流处理层负责执行流处理作业,通常一个流处理作业处理实时数据,若代码更改需要重新处理数据,则额外执行修改后的流处理作业。服务层用于查询结果。

实现Kappa可使用多种开源技术:
- 数据摄取:可使用像Apache Kafka这样的发布 - 订阅消息系统。
- 持久存储:可使用HDFS。
- 流处理层实现:可使用低延迟系统,如Apache Storm、Samza或Spark Streaming。

选择架构时,若实时数据和历史数据应用的算法相同,适合使用Kappa架构;若实时和批量算法的预期输出不同,则需使用La

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值