专栏名称: About云
about云-为热爱云开发技术人员提供最全面的信息传播和服务平台
目录
相关文章推荐
51好读  ›  专栏  ›  About云

Flink1.7稳定版发布:新增功能为企业生产带来哪些好处

About云  · 公众号  ·  · 2018-12-01 12:15

正文

问题导读
1.Flink1.7开始支持Scala哪个版本?
2.Flink1.7状态演变在实际生产中有什么好处?
3.支持SQL/Table API中的富集连接可以做那些事情?
4.Flink1.7新增了哪些连接器


Apache Flink社区宣布Apache Flink 1.7.0发布。 最新版本包括超过420个已解决的问题以及Flink的一些新增内容,About云将在本文的以下部分中对其进行描述。

一、概述


在Flink 1.7.0中,更接近实现快速数据处理和以无缝方式为Flink社区实现构建数据密集型应用程序的目标。 最新版本包括一些新功能和改进,例如对Scala 2.12的支持, exactly-once S3文件sink,复杂事件处理与流SQL的集成,下面有更多功能。

二、新功能和改进


1.Flink支持Scala 2.12
Apache Flink 1.7.0是第一个完全支持Scala 2.12的版本。 这允许用户使用较新的Scala版本编写Flink应用程序,并利用Scala 2.12生态系统。


2.支持状态演变
在许多情况下,由于需求的变化,长期运行的Flink应用程序需要在其生命周期内变化。在不丢失当前应用程序进度的状态下更改用户状态是应用程序发展的关键要求。

通过Flink 1.7.0,社区添加了状态演变,允许灵活地调整长时间运行的应用程序的用户状态模式,同时保持与先前保存点的兼容性。通过状态演变,可以在状态模式中添加或删除列,以便更改应用程序部署后应捕获的业务功能。

当使用Avro生成的类作为用户状态时,状态模式演变现在可以开箱即用,这意味着状态模式可以根据Avro的规范进行演变。虽然Avro类型是Flink 1.7中唯一支持模式演变的内置类型,但社区在未来的Flink版本中进一步扩展对其他类型的支持。


3.S3 StreamingFileSink实现Exactly-once
Flink 1.6.0中引入的StreamingFileSink现在已经扩展到支持写入S3文件系统,只需一次处理保证。 使用此功能允许用户构建写入S3的一次性端到端管道。

4.Streaming SQL支持MATCH_RECOGNIZE
这是Apache Flink 1.7.0的一个重要补充,它为Flink SQL提供了MATCH_RECOGNIZE标准的初始支持。 此功能结合了复杂事件处理(CEP)和SQL,可以轻松地在数据流上进行模式匹配,从而实现一整套新的用例。【此功能处于测试阶段】

5.支持Flink SQL / Table API中的富集连接
时态(Temporal )表是Apache Flink中的一个新概念,它为表的更改历史提供(参数化)视图,并在特定时间点返回表的内容。

例如,我们可以使用具有历史货币汇率的表格。 随着时间的推移,这种表格不断增长/变化,并且增加了新的更新汇率。 时态(Temporal )表是一种视图,可以将这些汇率的实际状态返回到任何给定的时间点。 使用这样的表格,可以使用正确的汇率将不同货币的订单流转换为通用货币。

Temporal Joins允许使用处理时间或事件时间,在符合ANSI SQL的情况下,使用不断变化/更新的表来进行内存和计算效率的Streaming数据连接。

6.流式SQL的其他功能
除了上面提到的主要功能外,Flink的Table&SQL API已经扩展到更多用例。

API中添加了以下内置函数:TO_BASE64,LOG2,LTRIM,REPEAT,REPLACE,COSH,SINH,TANH

SQL Client现在支持在环境文件和CLI会话中定义视图。 此外,CLI中还添加了基本的SQL语句自动完成功能。

社区添加了一个 Elasticsearch 6 table sink,它允许存储动态表的更新结果。

7.版本化REST API







请到「今天看啥」查看全文


推荐文章
法律读库  ·  双11:在喧嚣中沉静
8 年前
魔鬼心理学  ·  能让感情甜蜜的5个秘诀
8 年前