zoukankan      html  css  js  c++  java
  • Flink-v1.12官方网站翻译-P011-Concepts-Overview

    概念-概览

    实践培训解释了作为Flink的API基础的有状态和及时流处理的基本概念,并提供了这些机制如何在应用中使用的例子。有状态的流处理是在数据管道和ETL的背景下介绍的,并在容错部分进一步发展。在 "流分析 "一节中介绍了及时的流处理。

    本概念深度部分提供了对Flink的架构和运行时如何实现这些概念的更深入理解。

    Flink的API

    Flink为开发流式/批处理应用提供了不同层次的抽象。

     

    - 最底层的抽象只是提供有状态和及时的流处理。它通过处理函数嵌入到DataStream API中。它允许用户自由处理来自一个或多个流的事件,并提供一致的、容错的状态。此外,用户还可以注册事件时间和处理时间的回调,使程序可以实现复杂的计算。
    - 在实际应用中,很多应用程序并不需要上述的低级抽象,而是可以针对Core APIs进行编程:DataStream API(有界/无界流)和DataSet API(有界数据集)。这些流畅的API为数据处理提供了常见的构件,比如各种形式的用户指定的转换、连接、聚合、窗口、状态等。在这些API中处理的数据类型在各自的编程语言中被表示为类。
低级处理函数与 DataStream API 相集成,因此可以根据需要使用低级抽象。DataSet API 提供了关于有界数据集的附加基元,如循环/迭代。
    - 表 API 是以表为中心的声明式 DSL,它可能是动态变化的表(当表示流时)。Table API遵循(扩展的)关系模型。表有一个附加的模式(类似于关系数据库中的表),API提供了可比较的操作,如select、project、join、group-by、aggregation等。Table API程序声明式地定义了应该做什么逻辑操作,而不是具体规定操作的代码是怎样的。虽然Table API可以通过各种类型的用户定义函数进行扩展,但它的表现力不如Core API,使用起来更简洁(写的代码更少)。此外,Table API程序在执行前还要经过一个优化器,应用优化规则。
人们可以在表和DataStream/DataSet之间无缝转换,允许程序将Table API与DataStream和DataSet API混合使用。
    - Flink提供的最高级抽象是SQL。这个抽象在语义和表现形式上都与Table API相似,但将程序表示为SQL查询表达式。SQL抽象与Table API紧密交互,SQL查询可以在Table API中定义的表上执行。

  • 相关阅读:
    辨析六种单例模式
    理解模板模式
    常用DOM API总结
    自我剖析——一天的效率
    对两个数组合并,并去重
    Qt 创建一个QtDesinger第三方控件
    Qt中QComboBox中自定义界面使用stylesheet实现下拉按钮独立效果
    内核对象 windows操作系统
    python之基本内容
    python之总体理解
  • 原文地址:https://www.cnblogs.com/lukairui/p/14204168.html
Copyright © 2011-2022 走看看