【发布时间】:2020-02-11 21:31:07
【问题描述】:
如您所知,Kappa 架构是 Lambda 架构的某种简化。 Kappa 不需要批处理层,而是速度层必须保证历史数据重新计算的计算精度和足够的吞吐量(更多的并行性/资源)。
Still Kappa 架构需要两个服务层,以防您需要根据历史数据进行分析。例如,年龄小于 2 周的数据存储在 Redis(流服务层),而所有较旧的数据都存储在 HBase(批处理服务层)的某个位置。
什么时候(由于 Kappa 架构)我必须向批处理服务层插入数据? 如果流层将数据立即插入批处理和流服务层 - 那么延迟数据到达呢?还是流媒体层应该定期备份速度服务层到批量服务层?
示例:假设数据源是 Kafka,数据由 Spark Structured Streaming 或 Flink 处理,接收器是 Redis 和 HBase。何时写入 Redis 和 HBase?
【问题讨论】:
-
作为回答我自己问题的选项之一 - Apache Kudu 可能会加入两个服务层
标签: apache-spark architecture streaming apache-flink lambda-architecture