Apache Flink 1.3.0正式发布及其新功能介绍

栏目: 编程工具 · 发布时间: 7年前

内容简介:Apache Flink 1.3.0正式发布及其新功能介绍

下面文档是今天早上翻译的,因为要上班,时间比较仓促,有些部分没有翻译,请见谅。

2017年06月01日儿童节 Apache Flink 社区正式发布了 1.3.0 版本。此版本经历了四个月的开发,共解决了680个issues。Apache Flink 1.3.0 是 1.x.y 版本线上的第四个主要版本,其 API 和其他 1.x.y 使用 @Public 注释的API是兼容的。

此外,Apache Flink 社区目前制定了每四月发行一个主要版本(Apache Flink 1.2.0 是2017-02发行的,和 1.3.0正好隔了四个月),所以我们可以预期 Apache Flink 1.4.0 大约会在十月份发布。

主要的更新如下

Large State Handling/Recovery

  • RocksDB的增量检查点(Incremental Checkpointing for RocksDB):现在支持仅保存与上一次成功checkpoint之后新增的数据,而不是保存所有的应用程序状态。这将会加快checkpoint的时间,并且会相应地减少磁盘空间的消耗,因为每个checkpoint的大小会更小。详情请参见FLINK-5053。

  • 基于堆状态后端的异步快照(Asynchronous snapshotting):现在文件后端和内存后端(backends)使用写时复制HashMap的实现,使得其支持异步快照。异步快照使得Flink堆缓慢的存储系统和昂贵的序列化具有更大的弹性。详情请参见FLINK-6048, FLINK-5715。

  • 允许升级状态的Serializer:现在我们可以保存应用程序状态的前提下升级状态的Serializer。

  • 以算子的粒度恢复作业状态:在Apache Flink 1.3.0之前,算子的状态是绑定在task内部的,这使得很难在保持作业状态的同时改变job的拓扑。而现在我们可以做很多关于拓扑的修改。详情参见FLINK-5892。

  • 细粒度恢复(beta):在task出现故障的时候,我们可以仅仅重启那些受影响的subgraph,而不需要重启整个ExecutionGraph,这将大大减少恢复时间,详情参见FLINK-4256。

如果想及时了解Spark、 Hadoop 或者Hbase相关的文章,欢迎关注微信公共帐号: iteblog_hadoop

DataStream API

  • Side Outputs:这个功能使得一个算子可以有多个output stream。算子的元数据、内部系统信息(调试,性能等)或者是拒绝\延迟的数据将会是这个功能的潜在用例。Window算子现在使用这个功能来处理延迟的数据。参见FLINK-4460。

  • Union Operator State:Flink 1.2.0引入了广播状态功能(broadcast state functionality),但是这个功能并没有对外开放。Flink 1.3.0 提供了Union Operator State API来对外开放广播状态功能。详情参见FLINK-5991。

  • 针对每个窗口的状态:在此之前,WindowFunction或ProcessWindowFunction可以访问的状态被限定到窗口的key,而不是窗口本身。有了这个新功能,用户可以保持窗口状态并且与key无关。参见FLINK-5929。

Deployment and Tooling

  • Flink历史服务器:Flink的HistoryServer现在允许您查询JobManager归档的已完成作业的状态和统计信息,详情参见FLINK-1579。

  • 在WEB前端监控Watermark:为了更容易地诊断watermark相关问题,Flink JobManager前端现在提供了一个新的选项卡来跟踪每个算子的watermark。详情参见FLINK-3427。

  • Datadog HTTP Metrics Reporter:Datadog是使用非常广泛的指标系统。Flink现在提供了一个Datadog reporter,直接与Datadog http端点联系。详情参见FLINK-6013。

  • 网络缓存配置:我们终于摆脱了繁琐的网络缓冲区配置,并用更通用的方法替代了它。现在我们使用可用JVM 内存的部分(默认是10%),而不是定义绝对数量的网络缓冲区。

Table API / SQL

  • Support for Retractions in Table API / SQL: As part of our endeavor to support continuous queries on  Dynamic Tables , Retraction is an important building block that will enable a whole range of new applications which require updating previously-emitted results. Examples for such use cases are computation of early results for long-running windows, updates due to late arriving data, or maintaining constantly changing results similar to materialized views in relational database systems. Flink 1.3.0 supports retraction for non-windowed aggregates. Results with updates can be either converted into a DataStream or materialized to external data stores using TableSinks with upsert or retraction support.

  • Table API / SQL支持更多的聚合: Flink 1.3.0中Table API 和 SQL 支持更多类型的聚合, 包括

    • Batch 和 Streaming SQL 都支持GROUP BY window聚合操作(通过window函数 TUMBLE, HOP, and SESSION windows

    • SQL OVER window aggregations (only for streaming)

    • Non-windowed aggregations (in streaming with retractions).

    • 用户自定义的聚合函数

  • 支持外部的catalog: Table API 和 SQL 允许注册外部的catalogs. Table API 和 SQL 可以通过外部的catalogs 查询表及其模式相关的信息,而不需要对使用的表一一注册。

目前Table API / SQL的文档被重写了,预计会在06月05日发布。

Connectors

  • 支持ElasticSearch 5.x: ElasticSearch connectors相关的代码被重构,新的代码结构更加清晰,所有与ElasticSearch相关的公用模块被放到common base里面,与ElasticSearch版本相关的代码分别放到不同的模块中,这与Kafka的代码结构类似。 详情请参见FLINK-4988。

  • Allow rescaling the Kinesis Consumer: Flink 1.2.0 introduced rescalable state for DataStream programs. With Flink 1.3, the Kinesis Consumer also makes use of that engine feature ( FLINK-4821 ).

  • Transparent shard discovery for Kinesis Consumer: The Kinesis consumer can now discover new shards without failing / restarting jobs when a resharding is happening ( FLINK-4577 ).

  • Allow setting custom start positions for the Kafka consumer: With this change, you can instruct Flink’s Kafka consumer to start reading messages from a specific offset ( FLINK-3123 ) or earliest / latest offset ( FLINK-4280 ) without respecting committed offsets in Kafka.

  • Allow out-opt from offset committing for the Kafka consumer: By default, Kafka commits the offsets to the Kafka broker once a checkpoint has been completed. This change allows users to disable this mechanism ( FLINK-3398 ).

CEP Library

The CEP library has been greatly enhanced and is now able to accommodate more use-cases out-of-the-box (expressivity enhancements), make more efficient use of the available resources, adjust to changing runtime conditions–all without breaking backwards compatibility of operator state.

Please note that the API of the CEP library has been updated with this release.

Below are some of the main features of the revamped CEP library:

  • Make CEP operators rescalable: Flink 1.2.0 introduced rescalable state for DataStream programs. With Flink 1.3, the CEP library also makes use of that engine feature ( FLINK-5420 ).

  • CEP library新引入的算子:

    • 模式API的量词(*,+,?) ( FLINK-3318 )

    • 支持不同的连续性(continuity)需求 ( FLINK-6208 )

    • 支持迭代条件 ( FLINK-6197 )

Gelly Library

  • Unified driver for running Gelly examples FLINK-4949 ).

  • PageRank algorithm for directed graphs ( FLINK-4896 ).

  • Add Circulant and Echo graph generators ( FLINK-6393 ).

Known Issues

There are two known issues in Flink 1.3.0. Both will be addressed in the  1.3.1 release.

  • FLINK-6783 : Wrongly extracted TypeInformations for  WindowedStream::aggregate

  • FLINK-6783 : StateDescriptor cannot be shared by multiple subtasks

更多详情请参见官方文档。

猜你喜欢

欢迎关注本公众号: iteblog_hadoop :

0、回复  电子书   获取  所有可下载的电子书

1、回复  m-spark  获取  Mastering Spark for Data Science 电子书

2、回复  bigdata_e 获取  《大规模数据处理演变》PPT

3、回复  大数据分析 获取  《Big Data Analytics》 电子书

4、回复  spark2电子书 获取  《Apache Spark 2 for Beginners》 电子书

5、回复  spark2_data 获取   《Spark for Data Science》 电子书

6、回复  T-Dock er  获取  《Troubleshooting Docker》  PPT

7、回复  intro_flink 获取  《Introduction to Apache Flink》  电子书

8、回复  learning_flink  获取《 Learning Apache Flink 》电子书

8、回复  Hadoop权威指南 获取  《Hadoop权威指南中文第三版》电子书

9、回复  flink未来 获取  《The Future of Apache Flink》

10、回复  Learning_PySpark 获取《 Learning PySpark 》电子书

11、更多大数据文章欢迎访问 https://www.iteblog.com 及本公众号( iteblog_hadoop )

Apache Flink 1.3.0正式发布及其新功能介绍


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web程序设计

Web程序设计

塞巴斯塔 / 2008-6 / 68.00元

《Web程序设计(第4版)》是最新版,介绍了Internet和万维网的起源及演变过程,全面系统地讨论了Web开发相关的主要编程语言和工具,以及这些语言和工具之间的相互影响及优劣势。该书对全书内容进行了很多修订,并新增加了关于Ruby、Rails和Ajax的3个章节。一起来看看 《Web程序设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具