Flink入门(一)

整体框架

  1. Flink概述
  2. Flink上手部署
  3. Flink架构
  4. DataStream API(算子)
  5. Flink中的时间和窗口:窗口就是范围
  6. 处理函数:底层函数
  7. 状态管理:
  8. 容错机制:报错重启后能够从出错的位置继续执行
  9. FlinkSQL:功能逐步完善

基于数据流的有状态计算

  1. 正确性保证
    • 精确一次(Exactly-once)状态一致性
    • 事件时间处理
    • 成熟的迟到数据处理
  2. 分层API:底层处理函数、java API、Flink SQL
  3. 聚焦运维:灵活部署、高可用、保存点
  4. 大规模计算:水平扩展架构、支持超大状态、增量检查点机制
  5. 性能卓越:低延迟(毫秒级的计算)、高吞吐(每秒数百万事件处理)、内存计算
  6. 可以连接到常用的存储系统:Kafka, Hive, JDBC, HDFS, Redis等

流式场景

  1. 事件驱动应用:事件驱动型应用是一类具有状态的应用,它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。
  2. 流批分析:既支持流处理、也支持批处理
  3. 数据管道&ETL:提取-转换-加载(ETL)是一种在存储系统之间进行数据转换和迁移的常用方法。

状态

把流处理需要使用到的额外数据保存为一个"状态",状态会跟着流动的数据动态的变化。

Flink分层API

  1. SQL
  2. Table API
  3. DataStream
  4. 有状态流处理(底层 API 处理函数)

集群剖析

  1. JobManager:协调Flink程序的分布式执行,对完成的task或执行失败做出反应,协调检查点,恢复还原状态。一般集群中只有一个。
  2. TaskManager: 执行作业流的Task, 并且缓存和交换数据流。存在一个或者多个。

部署模式

  1. 会话模式:多个任务共享一个任务管理器,适合多个执行时间短、使用资源少的任务。先起集群再提交作业

  2. 单作业模式:一个作业,专用的任务管理器,程序运行在客户端机器上。

  3. 应用模式:一个作业,专用的任务管理器,程序运行在集群机器上。

Standalone模式

  1. 配置集群参数
  2. 使用./jobmanager.sh start | ./taskmanager.sh start 单点启动
  3. 使用bin/start-cluster.sh | bin/stop-cluster 群起群关

YARN运行模式

后续补充

相关推荐
isfox10 小时前
Hadoop 1.x 与 2.x 版本对比:架构演进与核心差异解析
大数据
货拉拉技术11 小时前
货拉拉离线大数据跨云迁移-综述篇
大数据·云原生
Lx35213 小时前
Hadoop与实时计算集成:Lambda架构实践经验
大数据·hadoop
武子康16 小时前
大数据-101 Spark Streaming 有状态转换详解:窗口操作与状态跟踪实战 附多案例代码
大数据·后端·spark
expect7g16 小时前
COW、MOR、MOW
大数据·数据库·后端
武子康1 天前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
阿里云大数据AI技术1 天前
2025云栖大会·大数据AI参会攻略请查收!
大数据·人工智能
代码匠心1 天前
从零开始学Flink:数据源
java·大数据·后端·flink
Lx3522 天前
复杂MapReduce作业设计:多阶段处理的最佳实践
大数据·hadoop
武子康2 天前
大数据-100 Spark DStream 转换操作全面总结:map、reduceByKey 到 transform 的实战案例
大数据·后端·spark