技术选型和优劣对比

流处理框架

Flink vs  Spark Streaming  vs  Storm

Flink

1、复杂时间处理:同时支持事件时间,接入时间,处理时间的选择,便于精准处理乱序事件和窗口运算

2、窗口操作灵活:提供了包括基于时间,计数,会话以及数据驱动的窗口定义

3、流批一体:基于事件驱动,低延迟,其他的系统都是通过"微批处理"实现的

4、独立的内存管理:基于JVM进行了独立的内存管理优化

5、状态管理,设计了checkpoint,保证容错状态下的恢复

6、智能背压控制:内建了BackPressure功能,具备自我调节流量能力,防止数据积压导致系统阻塞

7、社区活跃,一直在持续的优化和改进

Spark Streaming

基于Spark的弹性分布式数据集(RDD)构建,基于微批处理,不够实时,存在延时,秒级延时

Storm

劣势:吞吐和延迟不及flink,无状态,需要用户自己进行状态管理;缺少窗口,时间处理,聚合,会话等高级功能,社区活跃度低

Hive vs SparkSql(快和慢)

sparkSql利用了spark的弹性分布式数据集和内存计算能力,hive基于hadoop的MapReduce计算,不是在内存中做的计算,需要更多的IO,序列化和反序列化操作

有哪些任务调度的框架

Quartz

性能问题,大批量任务的时候,数据库可能成为瓶颈

xxl-job

轻量级分布式任务调度框架,支持通过web页面对任务进行动态的CURD操作,支持高可用,故障转移,

有哪些工作流任务调度框架

Apache Azkaban

Oozie

DolphinScheduler

一个分布式、易扩展的可视化DAG工作流任务调度平台,主要用于解决数据处理过程中复杂任务依赖与调度的问题

 

posted @ 2024-06-28 10:02  鼠标的博客  阅读(21)  评论(0编辑  收藏  举报