首页 > 解决方案 > 支持 Google Dataflow 的最佳 Apache Beam 语言是什么?

问题描述

我在使用 Dataflow 使用 Apache-beam 编写代码时遇到问题。

本来我是用python写代码的,但是在支持的语言中查了一下java、go、scio。

请就是否存在性能最佳的语言向我们提供反馈。

还是有更多的图书馆支持?

是我个人的好奇心,但是文档里的内容很难概括,所以写了一个问题。谢谢你。

标签: google-cloud-platformdataflow

解决方案


这是一个非常自以为是的问题,但我会尝试根据我的知识和经验来回答。

Java 是第一个在 Beam 上发布的具有全套功能(流式处理、批处理、窗口化......)的语言。

Python 紧随其后,一开始的功能有限,后来又丰富了(没有流式传输,然后是没有窗口的流式传输……)。Beam 和 Dataflow 不在 Python 中处理数据,它绝对没有效率。Python 语言是 Java 代码中最有效处理的包装器。这就是为什么 Python 在功能方面总是落后于 Java。

Go SDK 是一个新的,我从来没有测试过,在 Alpha 的时间太长了,我从来没有花时间去尝试过。

现在,在 Dataflow 上,情况发生了变化,如此处所述。v2 引擎仅使用语言作为流水线的描述,并在 C++ 中执行处理。

因此,特征方面的差异可能会继续存在,但会在一天之内消失。性能将是相同的。


推荐阅读