为期两个月开发的 Apache Flink 1.6.0 于今天(2018-08-09)正式发布了。Flink 社区艰难地解决了 360 个 issues,到这里查看完整版的 changelog 。Flink 1.6.0 是 1.x.y 版本系列上的第七个版本,1.x.y 中所有使用 @Public 标注的 API 都是兼容的。此版本继续使 Flink 用户能够无缝地运行快速数据处理并轻松构建数据驱动和数据密集型应用程序。
Apache Flink 1.6.0 重要更新主要包含以下几点:
- Flink 的状态支持是使 Flink 在实现各种用例方面如此通用和强大的关键特性之一。为了使其更加容易使用,社区为其添加了 TTL 的原生支持(FLINK-9510, FLINK-9938),此功能允许在状态过期之后能够清理状态。在 Flink 1.6.0 中,定时器状态现在可以脱离出系统,而直接将其存放在 RocksDB 中(FLINK-9485)。最后,定时器的删除也得到显著提升(FLINK-9423)。
- 在 Flink 1.5.0 中,我们重新设计了 Flink 分布式架构,以增加对资源弹性和不同部署方案的支持,同时容器的集成得到进一步的提升。而在 Flink 1.6.0 中,对这里面一些没完成的进行了完善:所有的外部通信(包括作业提交)现在都是基于 HTTP/REST 的(FLINK-9280),这大大简化了容器(container)的设置(FLINK-9280)。Flink 1.6.0 还引入了容器入口点(container entrypoint),可以轻松引导容器化作业集群(FLINK-9488)。
- 流式 SQL 是最具有潜力的功能之一,因为它使 Flink 更易于访问。在 Apache Flink 1.6.0 中,社区进一步改进了 SQL CLI(FLINK-8863),使得针对大量数据源执行流式处理和批处理查询变得轻而易举(FLINK-8861)。此外,完整的 Avro 支持可以无缝地读取任何 Avro 数据(FLINK-9444)。最后,社区强化了 Flink 的 CEP 库(FLINK-9418)。
- 在最新的 Flink 版本中,我们添加了一个新的 StreamingFileSink(FLINK-9750),它将 BucketingSink 作为标准文件接收器。同时增加了对 ElasticSearch 6.x 的支持(FLINK-7386),并对 AvroDeserializationSchemas 做了修改,使得我们更加容易地摄取 Avro 数据(FLINK-9338)。
其他新功能以及提升
- 支持状态 TTL (FLINK-9510, FLINK-9938)
- 基于 RocksDB 的可扩展计时器(FLINK-9485)
- 更快删除定时器(FLINK-9423),显著提升定时器的删除。
- 添加了作业集群容器入口点(FLINK-9488):Flink 1.6.0 还引入了容器入口点(container entrypoint),可以轻松引导容器化作业集群(FLINK-9488)。
- Fully RESTified Job Submission(FLINK-9280)
- SQL 客户端 CLI 支持用户定义函数(FLINK-8863)
- SQL 客户端 CLI 支持批处理查询(FLINK-8861)
- SQL 客户端 CLI 支持 INSERT INTO 语句(FLINK-8858)
- 统一表接收器(Table Sinks)和格式(FLINK-8866,FLINK-8558)
- 新的 Kafka Table Sink(FLINK-9846)
- Full SQL Avro Support (FLINK-9444)
- 提高了 SQL 和 Table API 的表达能力(FLINK-5878, FLINK-8688, FLINK-6810)
更详细的说明请参见 Apache Flink 1.6.0 Release Announcement。
本博客文章除特别声明,全部都是原创!原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Apache Flink 1.6.0 正式发布,涵盖多项重要更新】(https://www.iteblog.com/archives/2408.html)