概念-概览

实践培训解释了作为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中定义的表上执行。

Flink-v1.12官方网站翻译-P011-Concepts-Overview的更多相关文章

  1. Flink-v1.12官方网站翻译-P005-Learn Flink: Hands-on Training

    学习Flink:实践培训 本次培训的目标和范围 本培训介绍了Apache Flink,包括足够的内容让你开始编写可扩展的流式ETL,分析和事件驱动的应用程序,同时省略了很多(最终重要的)细节.本书的重 ...

  2. Flink-v1.12官方网站翻译-P025-Queryable State Beta

    可查询的状态 注意:可查询状态的客户端API目前处于不断发展的状态,对所提供接口的稳定性不做保证.在即将到来的Flink版本中,客户端的API很可能会有突破性的变化. 简而言之,该功能将Flink的托 ...

  3. Flink-v1.12官方网站翻译-P002-Fraud Detection with the DataStream API

    使用DataStream API进行欺诈检测 Apache Flink提供了一个DataStream API,用于构建强大的.有状态的流式应用.它提供了对状态和时间的精细控制,这使得高级事件驱动系统的 ...

  4. Flink-v1.12官方网站翻译-P015-Glossary

    术语表 Flink Application Cluster Flink应用集群是一个专用的Flink集群,它只执行一个Flink应用的Flink作业.Flink集群的寿命与Flink应用的寿命绑定. ...

  5. Flink-v1.12官方网站翻译-P008-Streaming Analytics

    流式分析 事件时间和水印 介绍 Flink明确支持三种不同的时间概念. 事件时间:事件发生的时间,由产生(或存储)该事件的设备记录的时间 摄取时间:Flink在摄取事件时记录的时间戳. 处理时间:您的 ...

  6. Flink-v1.12官方网站翻译-P004-Flink Operations Playground

    Flink操作训练场 在各种环境中部署和操作Apache Flink的方法有很多.无论这种多样性如何,Flink集群的基本构件保持不变,类似的操作原则也适用. 在这个操场上,你将学习如何管理和运行Fl ...

  7. Flink-v1.12官方网站翻译-P001-Local Installation

    本地安装 按照以下几个步骤下载最新的稳定版本并开始使用. 第一步:下载 为了能够运行Flink,唯一的要求是安装了一个有效的Java 8或11.你可以通过以下命令检查Java的正确安装. java - ...

  8. Flink-v1.12官方网站翻译-P029-User-Defined Functions

    用户自定义函数 大多数操作都需要用户定义的函数.本节列出了如何指定这些函数的不同方法.我们还涵盖了累加器,它可以用来深入了解您的Flink应用. Lambda函数 在前面的例子中已经看到,所有的操作都 ...

  9. Flink-v1.12官方网站翻译-P028-Custom Serialization for Managed State

    管理状态的自定义序列化 本页面的目标是为需要使用自定义状态序列化的用户提供指导,涵盖了如何提供自定义状态序列化器,以及实现允许状态模式演化的序列化器的指南和最佳实践. 如果你只是简单地使用Flink自 ...

  10. Flink-v1.12官方网站翻译-P027-State Schema Evolution

    状态方案的演变 Apache Flink流媒体应用通常被设计为无限期或长时间运行.与所有长期运行的服务一样,应用程序需要更新以适应不断变化的需求.这对于应用程序所针对的数据模式也是一样的,它们会随着应 ...

随机推荐

  1. ElasticSearch教程——分片、扩容以及容错机制(转学习使用)

    一.Primary shard和replica shard机制 1.index包含多个shard; 2.每个shard都是一个最小的工作单元,承载部分的数据,Lucene实例,完整的简历索引和处理请求 ...

  2. ping 路由跟踪

    pathping: pathping ip地址/网址 C:\Users\Administrator>pathping 119.29.18.11 通过最多 30 个跃点跟踪到 119.29.18. ...

  3. 【C++】《C++ Primer 》第十二章

    第十二章 动态内存 目前为止,所使用的对象都有着严格定义的生存期. 全局对象在程序启动时分配,在程序结束时销毁.局部自动对象在进入其定义所在的程序块时被创建,在离开块时销毁.局部static对象在第一 ...

  4. 那些最全面的Windows10安装pytorch踩过的坑以及如何应用

    那些最全面的Windows10安装pytorch踩过的坑以及如何应用 一.pytorch简介 2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch.它是一个基 ...

  5. 关于maven多module的依赖问题

    之前的项目因为历史的原因,都是一个project里只包含了一个module,今年进入了新的项目组,出现了多个module,最近刚好也是在学<maven实战>因此想要将这个东西记录下来 工程 ...

  6. Azure App object和Service Principal

    为了把Identity(身份)和Access Management function(访问管理功能)委派给Azure AD,必须向Azure AD tenant注册应用程序.使用Azure AD注册应 ...

  7. leetcode 940. 不同的子序列 II (动态规划 ,字符串, hash,好题)

    题目链接 https://leetcode-cn.com/problems/distinct-subsequences-ii/ 题意: 给定一个字符串,判断里面不相同的子串的总个数 思路: 非常巧妙的 ...

  8. ctfhub技能树—密码口令—弱口令

    什么是弱口令? "弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令. 弱口令指的是仅包含简单数字和 ...

  9. oracle释放空间到OS

    测试: 建表空间 CREATE TABLESPACE TESTTBS DATAFILE '/oradata01/dfhdb/testtbs01.dbf' SIZE 2G; 在表空间上建表 CREATE ...

  10. SAP密码策略挺有意思

    很多系统管理员可能都知道通过RZ10可以配置SAP的密码策略.例如:密码里包含的大小写字符.数字.特殊字符.密码长度.密码不能和前多少次的密码相同.不能和之前的密码有多少位相似等但是你知道吗?其实还有 ...