更新时间:2024-07-24 GMT+08:00

Flink作业引擎概述

Flink WebUI提供基于Web的可视化开发平台,用户只需要编写SQL即可开发作业,极大降低作业开发门槛。同时通过作业平台能力开放,支持业务人员自行编写SQL开发作业来快速应对需求,大大减少Flink作业开发工作量。

Flink WebUI特点

Flink WebUI主要有以下特点:

  • 企业级可视化运维:运维管理界面化、作业监控、作业开发Flink SQL标准化等。
    图1 可视化运维
  • 快速建立集群连接:通过集群连接功能配置访问一个集群,需要客户端配置、用户认证密钥文件。
  • 快速建立数据连接:通过数据连接功能配置访问一个组件。创建“数据连接类型”为“HDFS”类型时需创建集群连接,其他数据连接类型的“认证类型”为“KERBEROS”需创建集群连接,“认证类型”为“SIMPLE”不需创建集群连接。

    “数据连接类型”为“Kafka”时,认证类型不支持“KERBEROS”。

  • 可视化开发平台:支持自定义输入/输出映射表,满足不同输入来源、不同输出目标端的需求。
  • 图形化作业管理:简单易用。
    图2 图形化作业管理

Flink WebUI关键能力

FlinkWebUI关键能力如表1

表1 Flink WebUI关键能力

关键能力分类

描述

批流一体

  • 支持一套FlinkSQL定义批作业和流作业。

Flink SQL内核能力

  • Flink SQL支持自定义大小窗、24小时以内流计算、超出24小时批处理。
  • FlinkSQL支持Kafka、HDFS读取;支持写入Kafka和HDFS。
  • 支持同一个作业定义多个FlinkSQL,多个指标合并在一个作业计算。当一个作业是相同主键、相同的输入和输出时,该作业支持多个窗口的计算。
  • 支持AVG、SUM、COUNT、MAX和MIN统计方法。

Flink SQL可视化定义

  • 集群连接管理,配置Kafka、HDFS等服务所属的集群信息。
  • 数据连接管理,配置Kafka、HDFS等服务信息。
  • 数据表管理,定义Sql访问的数据表信息,用于生成DDL语句。
  • FlinkSQL作业定义,根据用户输入的Sql,校验、解析、优化、转换成Flink作业并提交运行。

Flink作业可视化管理

  • 支持可视化定义流作业和批作业。
  • 支持作业资源、故障恢复策略、Checkpoint策略可视化配置。
  • 流作业和批作业的状态监控。
  • Flink作业运维能力增强,包括原生监控页面跳转。

性能&可靠性

  • 流处理支持24小时窗口聚合计算,毫秒级性能。
  • 批处理支持90天窗口聚合计算,分钟级计算完成。
  • 支持对流处理和批处理的数据进行过滤配置,过滤无效数据。
  • 读取HDFS数据时,提前根据计算周期过滤。
  • 作业定义平台故障、服务降级,不支持再定义作业,但是不影响已有作业计算。
  • 作业故障有自动重启机制,重启策略可配置。

Flink WebUI应用流程

Flink WebUI应用流程参考如下步骤:

图3 Flink WebUI应用流程
表2 Flink WebUI应用流程说明

阶段

说明

参考章节

创建应用

通过应用来隔离不同的上层业务。

创建FlinkServer应用

创建集群连接

通过集群连接配置访问不同的集群。

创建FlinkServer集群连接

创建数据连接

通过数据连接,访问不同的数据服务,包括HDFS、Kafka等。

创建FlinkServer数据连接

创建流表

通过数据表,定义源表、维表、输出表的基本属性和字段信息。

创建FlinkServer流表源

创建SQL/JAR作业(流式/批作业)

定义Flink作业的API,包括Flink SQL和Flink Jar作业。

如何创建FlinkServer作业

作业管理

管理创建的作业,包括作业启动、开发、停止、删除和编辑等。

如何创建FlinkServer作业