Apache Beam 0.5.0 发布,大数据批处理和流处理标准

来源: 投稿
作者: 王练
2017-02-10

Apache Beam 0.5.0 发布了,Apache Beam 是 Google 在2016年2月份贡献给 Apache 基金会的项目,主要目标是统一批处理和流处理的编程范式,为无限,乱序,web-scale的数据集处理提供简单灵活,功能丰富以及表达能力十分强大的SDK。Apache Beam 项目重点在于数据处理的编程范式和接口定义,并不涉及具体执行引擎的实现,Apache Beam 希望基于 Beam 开发的数据处理程序可以执行在任意的分布式计算引擎上。

更新内容:

Bug

  • [BEAM-560] - 在 JAXBCoder 中,使用 ThreadLocals 来缓存 Marshaller / Unmarshaller

  • [BEAM-647] - 通过 Broadcast  变量的容错 sideInputs

  • [BEAM-853] - 在批处理管道上强制执行流测试

  • [BEAM-932] - Findbugs 无法通过 Spark runner

  • [BEAM-979] - 运行数小时后发生 ConcurrentModificationException 异常

  • [BEAM-1023] - 以流模式添加 BigQueryIO.Write 的测试覆盖率

  • [BEAM-1097] - 不存在的 gcpTempLocation 的数据流错误消息具有误导性

  • [BEAM-1136] - ValueProvider <String> 应允许使用空字符串值

  • [BEAM-1144] - Spark runner 无法在集群模式下反序列化 MicrobatchSource

  • [BEAM-1165] - 当检查对 clean repo 的依赖性时创建的意外文件

  • [BEAM-1177] - 输入 DStream“bundles” 应为序列化形式,并包含相关的元数据

  • [BEAM-1203] - 在非嵌入模式下运行 apex runner 时发生异常

  • [BEAM-1207] - 在 YARN 模式下与 apex runner 一起使用的不兼容的 httpclient 版本

  • [BEAM-1214] - 无法在带有 VerifyError 的 SparkRunner 上运行

  • [BEAM-1217] - 由于私人/公共选项不匹配,某些示例无法运行

  • [BEAM-1229] - flink KafkaIOExamples 提交错误

  • [BEAM-1230] -  在 Window 类的文档中输入错误

  • [BEAM-1235] - BigQueryIO 不向用户显示加载作业错误

  • [BEAM-1248] - Combine with side inputs API 应匹配 ParDo

  • [BEAM-1249] - 具有异型编码器的扁平化不具有 RunnableOnService 测试

  • [BEAM-1250] - 在实施 PCollection 时删除 leaf,以避免重新评估

  • [BEAM-1255] - Flink on UnboundedSource 中的 java.io.NotSerializableException

  • [BEAM-1258] - BigQueryIO.Write: CREATE_IF_NEEDED 和 per-window tables 已损坏

  • [BEAM-1273] - 在 setStateBackend 之后 FlinkPipelineOptions 序列化出错

  • [BEAM-1292] - PubSubIO:配置主题时抛出错误

  • [BEAM-1326] - WindowedWordCountIT 生成的输出位置很容易出现冲撞

  • [BEAM-1370] - AfterWatermarkEarlyAndLate 不调用早期触发器的 onMerge

改进

  • [BEAM-298] - 使 TestPipeline 实现 TestRule 接口

  • [BEAM-370] - 从 PTransforms 和 sub-classes 中移除 .named()方法

  • [BEAM-708] - 迁移 BoundedReadFromUnboundedSource 以使用 AutoValue 来减少样板

  • [BEAM-716] - 迁移 JmsIO 以使用 AutoValue 来减少样板

  • [BEAM-757] - SparkRunner 应该使用 SDK 的 DoFnRunner,而不是写它自己的。

  • [BEAM-807] - [SparkRunner] 用 DoFn 替换 OldDoFn

  • [BEAM-814] - 提高暂存文件时的性能

  • [BEAM-921] - 用 JavaSerializer 序列化注册的列表和源

  • [BEAM-974] - 向 PubsubIO 添加属性支持

  • [BEAM-1137] - 对于所有支持的类型(Collection,Array,Enum)的 ValueProvider,应允许使用空字符串值

  • [BEAM-1145] - 从 shaded spark runner artifact 中移除分类器

  • [BEAM-1146] - 减少 spark runner 启动开销

  • [BEAM-1176] - 使测试套件使用 @Rule TestPipeline

  • [BEAM-1186] - 迁移剩余的测试以使用 TestPipeline 作为 JUnit 规则

  • [BEAM-1201] - 从 BoundedSource 中移除 produceSortedKeys

  • [BEAM-1223] - 用 Sum.[*]Fn classes 方法替换公共构造函数

  • [BEAM-1225] - 在 Java SDK 中添加 ToString 变换

  • [BEAM-1260] - PAssert 应捕捉 assertion 站点

  • [BEAM-1266] - 在 Dataflow 作业显现中使用全窗口值

  • [BEAM-1291] - KafkaIO: 在关闭阅读器时不记录偏移提取中的警告

  • [BEAM-1302] - 改进 BigQueryServicesImpl 中的告警消息

新特性

  • [BEAM-85] - PAssert 需要的健全性检查已可使用

  • [BEAM-425] - 创建 Elasticsearch IO

  • [BEAM-606] - 创建 MqttIO

  • [BEAM-1038] - 在 DataflowRunner 中支持新的 State API

  • [BEAM-1117] - 在 Direct runner 中支持新的 Timer API

详情请查看发行日志

下载地址:

展开阅读全文
14 收藏
分享
加载中
更多评论
0 评论
14 收藏
分享
返回顶部
顶部