获得徽章 0
量化研究和企业数据分析通常会根据场景需求,混合使用批量处理和流式处理两种模式。批量处理适用于对历史全集数据进行高吞吐的离线分析,而流式处理则用于对持续数据流进行低延迟的实时计算。无论哪种模式,都需要根据数据的特点(如有界/无界、静态/动态)来设计和选择相应的数据结构和算法(如窗口、状态、容错机制),以高效、准确地完成处理任务。
个人研究阶段,大多数人用的都是批量数据,加入机构势必要补充流式数据处理的知识。流式处理有其独特的挑战,必须考虑更多特定方面的算法和数据结构:
1、状态管理:如何高效地维护和更新持续计算中的中间状态(如窗口内的累加值)。
2、时间处理:如何处理事件时间、摄入时间和处理时间的不一致性问题(Event Time vs. Processing Time)。
3、窗口操作:如何定义和计算滑动窗口、滚动窗口、会话窗口等。
4、容错与精确一次语义:在发生故障时,如何保证数据不丢失、不重复,计算结果准确(Exactly-once semantics)。
5、背压处理:当数据流入速度超过处理速度时,系统如何优雅地应对而不崩溃。
个人研究阶段,大多数人用的都是批量数据,加入机构势必要补充流式数据处理的知识。流式处理有其独特的挑战,必须考虑更多特定方面的算法和数据结构:
1、状态管理:如何高效地维护和更新持续计算中的中间状态(如窗口内的累加值)。
2、时间处理:如何处理事件时间、摄入时间和处理时间的不一致性问题(Event Time vs. Processing Time)。
3、窗口操作:如何定义和计算滑动窗口、滚动窗口、会话窗口等。
4、容错与精确一次语义:在发生故障时,如何保证数据不丢失、不重复,计算结果准确(Exactly-once semantics)。
5、背压处理:当数据流入速度超过处理速度时,系统如何优雅地应对而不崩溃。
展开
1
点赞
赞了这篇文章