zoukankan      html  css  js  c++  java
  • 一文带你了解 Flink 的基本组件栈

    作为实时计算领域的佼佼者,Flink 的基本组件同样值得我们仔细研究。

    Flink 同样遵循着分层的架构设计理念,在降低系统耦合的同时,也为上层用户构建 Flink 应用提供了丰富且友好的接口。

    Flink 分层架构,从上到下依次是:API & Libraries 层、Runtime 核心层 和 物理部署层

    API & Libraries 层

    作为分布式数据处理框架,Flink 同时提供了支撑流计算和批计算的接口,同时在此基础上抽象出不同的应用类型的组件库,如基于流处理的 CEP (复杂事件处理库),SQL & TABLE 库 和 基于批处理的 FlinkML(机器学习库),Gelly(图处理库)等。

    API 层包括构建流计算应用的 DataStream API 和批计算应用的 DataSet API,两者都是提供给用户丰富的数据处理高级 API,例如 Map,FlatMap 等,同时也提供比较低级的 Process Function API ,用户可以直接操作状态和时间等底层数据。

    Runtime 核心层

    该层主要负责对上层不同接口提供基础服务,也是 Flink 分布式计算框架的核心实现层,支持分布式 Stream 作业的执行、JobGraph 到 ExecutionGraph 的映射转换、任务调度等。

    将 DataStream 和 DataSet 转成统一的可执行的 Task Operator,达到在流式引擎下同时处理批量计算和流式计算的目的

    物理部署层

    该层主要涉及 Flink 的部署模式,目前 Flink 支持多种部署模式:本地、集群(Standalone / YARN)、云(GCE / EC2)、kubenetes。

    flink 能够通过该层支持不同平台的部署,用户可以根据需要选择使用对应的部署模式。

    更多精彩,关注微信公众号:黑科技部落

  • 相关阅读:
    2017洛谷7月月赛总结
    poj3169 Layout
    poj3613Cow Relays
    洛谷P1418 选点问题
    poj3311Hie with the Pie
    poj1734Sightseeing trip
    poj3728The merchant
    洛谷P2420 让我们异或吧
    struts2.1笔记02:servlet简介
    struts2.1笔记01:MVC框架思想浅层理解
  • 原文地址:https://www.cnblogs.com/nicekk/p/11552901.html
Copyright © 2011-2022 走看看