Apache Flink 1.12.0 发布,初步实现批处理和流处理统一运行

Apache Flink 最新稳定版 1.12.0 已发布。Apache Flink 是一个流处理框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。

根据发布公告的介绍,新版本显着提升了可用性。此外,新增的功能简化(并统一了)整个 API 堆栈的 Flink 处理。亮点如下:

DataStream API 中的批处理执行模式 (Batch Execution Mode)

在 DataStream API 中增​​加对高效批处理执行的支持。这是实现批处理和流处理真正统一运行时的下一个重要里程碑。

有限流上的批处理 (Batch for Bounded Streams)

现在已支持使用 DataStream API 来处理有限流(例如文件),然而运行时并不“知道”作业已受限制。为了优化在有限输入情况下的运行时性能,新BATCH执行模式对于聚合操作全部在内存中进行,并使用改进过的调度策略(查看 Pipelined Region Scheduling)。因此,DataStream API 中BATCH模式执行已经非常接近 Flink 1.12 中 DataSet API 的性能。

新的 Data Sink API (Beta)

在以前的版本中,已经确保数据源中的连接器可以同时在两种执行模式下工作,因此在 Flink 1.12 中,社区专注于实现统一的 Data Sink API (FLIP-143)。新的抽象引入了一个 write/commit 协议和一个更加模块化的接口,接口中各个组件会透明地暴露给框架。

Sink 实现者需要定义 what 和 how:SinkWriter 用于写数据,并输出需要 commit 的内容(例如 committables);CommitterGlobalCommitter 封装了如何处理 committables。框架会负责 when 和 where:即在什么时间,以及在哪些机器或进程中 commit。

Kubernetes 高可用性 (HA) 服务

实现基于 Kubernetes 的高可用性 (HA) 方案,在生产环境中可作为 ZooKeeper 的替代方案,以实现高可用性的生产设置。当然,这并不意味 ZooKeeper 会被删除,这只是为 Kubernetes 上的 Flink 用户提供另一种选择。

升级 Kafka Connector

Kafka SQL 连接器已扩展为可以在 upsert 模式下工作,并且能够处理 SQL DDL 中的 connector metadata。现在,Temporal table joins 也可以用 SQL 完全表示,而不再依赖于 Table API。

PyFlink:Python DataStream API

PyFlink 添加了对于 DataStream API 的支持,并将 PyFlink 扩展到了更复杂的场景,比如需要对状态或者定时器 timer 进行细粒度控制的场景。除此之外,现在原生支持将 PyFlink 作业部署到 Kubernetes 上。

更多内容查看发布公告

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/123676/flink-1-12-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。