这是我参与「第四届青训营 」笔记创作活动的第1天
主要通过四个方面来介绍Flink 引擎
- Apache Flink 概述;
- 流批一体的 Apache Flink 架构;
- Apache Flink 的 OLAP 场景面临的问题及优化思路;
- Flink 使用案例;
Apache Flink 概述
什么是大数据:
大数据(Big Data):指无法在一定时间内使用常规软件工具对其进行获取、存储、管理和处理的数据集合。
特点:
- 价值化
- 海量化
- 快速化
- 多样化
大数据的实时性:
- 监控场景 :实时发现业务系统的监控状态,避免业务故障
- 金融风控:实时监控出异常交易的行为,即使阻止风险发生
- 实时推荐:根据用户的行为数据发掘用户的兴趣、偏好等,推荐用户更感兴趣的内容
\
Apache Flink 是什么?
这篇文章介绍什么是Flink,Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink 被设计为在所有常见的集群环境中运行,以内存中速度和任何规模执行计算。
Flink技术特征: 大数据十年回顾:浪潮之巅数英雄
Flink 在 2015 年突然出现在大数据舞台,然后迅速成为实时流计算部分当红炸子鸡。
- 完全一次保证:故障后应正确恢复有状态运算符中的状态。
- 低延迟:越低越好。许多应用程序需要亚秒级延迟。
- 高吞吐量:随着数据速率的增长,通过管道推送大量数据至关重要。
- 强大的计算模型:框架应该提供一种编程模型,该模型不限制用户并允许各种各样的应用程序在没有故障的情况下,容错机制的开销很低。
- 流量控制:来自慢速算子的反压应该由系统和数据源自然吸收,以避免因消费者缓慢而导致崩溃或降低性能。
- 乱序数据的支持:支持由于其他原因导致的数据乱序达到、延迟到达后,计算出正确的结果。
- 完备的流式语义:支持窗口等现代流式处理语义抽象。
主要的流式计算引擎能力对比:
流式计算特点:
- 实时计算、快速、低延迟;
- 无限流、动态、无边界;
- 7*24 持续运行;
- 流批一体
批式计算:
- 离线计算、非实时
- 静态数据集
- 按小时/天等周期进行计算
实时计算的业务场景需求、为什么会出现流式计算:
- 数据实时价值更大;
- 大数据批式处理分钟级、小时级、天极,部分业务场景无法接受;