Flink的整体结构

一、部署层

Flink支持本地(Local)模式、集群(Cluster)模式等

二、执行引擎层

执行引擎层是核心API的底层实现,位于最低层。执行引擎层提供了支持Flink计算的全部核心实现

一、执行引擎层的主要功能

  • 支持分布式流处理
  • 从作业图(JobGraph)到执行图(ExecutionGraph)的映射、调度等
  • 为上层的API层提供基础服务
  • 构建新的组件或算子

二、执行引擎层的特点

  • 灵活性高,但开发比较复杂
  • 表达性强,可以操作状态、Time等

三、核心API层

核心API层主要对无界数据流和有界数据流进行处理,包括DataStream API和DataSet API,以及实现了更加抽闲但是表现力稍差的Table API、SQL

  • DataStream API:用于处理无界数据流,或者以流处理方式来处理有界数据流
  • DataSet API:用于对有界数据进行处理。用户可以非常方便地使用Flink提供的各种算子对分布式数据集进行处理。DataStream API和DataSet API是流处理应用程序和批处理应用程序的接口,程序在编译时生成作业图。在编译完成之后,Flink的优化器会生成不同的执行计划。根据部署方式的不同,优化之后的作业图将被提交给执行器执行。
  • Table API、SQL:用于对结构化数据进行查询,将结构化数据抽象成关系表,然后通过其提供的类SQL语言的DSL对关系表进行各种查询

四、领域库层

Flink还提供了用于特定领域的库,这些库通常被嵌入在API中,但不完全独立于API。这些库也因此可以继承API的所有特性,并与其他库集成

在API层之上构建的满足特定应用的实现计算框架(库),分别对应ing面向流处理和面向批处理这两类

  • 面向流处理支持:CEP(复杂时间处理)、基于SQL-like的操作(基于Table的关系操作)。
  • 面向批处理支持:FlinkML(机器学习库)、Alink(新开源的机器学习库)、Gelly(图计算)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值