将使多个 SDK 受益的连接器相关工作。
可分割 DoFn
可分割 DoFn 是 Beam 的下一代源框架,它将取代当前用于开发有界和无界源的框架。可分割 DoFn 正在与当前的 Beam 可移植性工作一起开发。有关更多详细信息,请参阅 Beam 可移植性框架路线图。
跨语言转换
最后更新于 2020 年 5 月。
作为 Beam 可移植性工作的一个额外好处,我们能够跨 SDK 使用 Beam 转换。这有许多好处。
- 跨 SDK 共享连接器。例如,
- 使用 Python 和 Go SDK 编写的 Beam 管道将能够利用目前为 Java SDK 实现的大量连接器选择。
- Java SDK 将能够利用仅提供 Python API 的系统的连接器。
- Go SDK 将能够利用目前可用于 Java 和 Python SDK 的连接器。
- 易于开发和维护 Beam 转换 - 通常,使用跨语言转换,Beam 转换作者将能够使用选择的语言实现新的 Beam 转换,并从其他语言使用这些转换,从而减少维护和支持开销。
- Beam SQL 目前仅适用于 Java SDK,将可用于 Python 和 Go SDK。
- Beam TFX 转换 目前仅适用于 Beam Python SDK 管道,将可用于 Java 和 Go SDK。
已完成和正在进行的工作
与跨语言转换相关的许多工作目前处于变化之中。下面列出了一些已完成和正在进行的工作。
跨语言转换 API 和扩展服务
与为 Java/Python/Go SDK 开发/更新跨语言转换 API 以及与跨语言转换扩展服务相关的工作。
- Java SDK 的基本 API - 已完成
- Python SDK 的基本 API - 已完成
- Go SDK 的基本 API - 正在进行中
- Java 和 Python SDK 的基本跨语言转换扩展服务 - 已完成
- 工件暂存 - 几乎完成 - 电子邮件线程,文档
支持 Flink 运行器
与使跨语言转换可用于 Flink 运行器相关的工作。
- 在可移植 Flink 运行器上执行跨语言转换的基本支持 - 已完成
支持 Dataflow 运行器
与使跨语言转换可用于 Dataflow 运行器相关的工作。
- 在 Dataflow 运行器上执行跨语言转换的基本支持
- 这项工作需要更新 Dataflow 服务的作业提交和作业执行逻辑。目前,这项工作正在 Google 开发中。
支持 Direct 运行器
与使跨语言转换可用于 Direct 运行器相关的工作
- 在 Pyton Direct 运行器上执行跨语言转换的基本支持 - 已完成
- 在 Java Direct 运行器上执行跨语言转换的基本支持 - 尚未开始
连接器/转换支持
正在进行和计划的工作,通过跨语言转换框架使现有的连接器/转换可用于其他 SDK。
- Java JdbcIO - 已完成 - BEAM-10135,BEAM-10136
- Java KafkaIO - 已完成 - BEAM-7029
- Java KinesisIO - 已完成 - BEAM-10137,BEAM-10138
- Java PubSubIO - 正在进行中 - BEAM-7738
- Java SnowflakeIO - 已完成 - BEAM-9897,BEAM-9898
- Java SpannerIO - 正在进行中 - BEAM-10139,BEAM-10140
- Java SQL - 已完成 - BEAM-8603
可移植 Beam 架构
可移植 Beam 架构支持将提供一种通用的机制,用于跨语言边界序列化和传输数据,这对使用跨语言转换的管道非常有用。
- 将行编码器作为标准编码器并用 python 实现 - 已完成 - BEAM-7886
集成/性能测试
- 为 Flink 运行器上的跨语言转换添加集成测试套件 - 正在进行中 - BEAM-6683
文档
与在 Beam 网站上添加跨语言转换文档相关的工作。
- 记录 Java/Python 的跨语言转换 API - 尚未开始
- 记录将现有转换作为 Java/Python 的跨语言转换提供的 API - 尚未开始
最后更新于 2024/10/31
您找到了您要找的所有东西吗?
所有内容都实用且清晰吗?您想更改任何内容吗?请告诉我们!