Python + Beam + Flink

Posted

技术标签:

【中文标题】Python + Beam + Flink【英文标题】: 【发布时间】:2018-12-04 23:40:34 【问题描述】:

我一直在尝试让 Apache Beam 可移植性框架与 Python 和 Apache Flink 一起使用,但我似乎无法找到一套完整的说明来让环境正常工作。是否有包含完整的先决条件和步骤列表的参考资料可以让一个简单的 python 管道正常工作?

【问题讨论】:

目前看不到任何好的文档可以指出,但是这些链接会有帮助吗? github.com/apache/beam/blob/…github.com/apache/beam/blob/master/sdks/python/… 【参考方案1】:

总体而言,对于本地便携式跑步者 (ULR),see the wiki,引用自那里:

运行 Python-SDK 管道:

    将容器编译为本地构建:./gradlew :beam-sdks-python-container:docker 启动 ULR 作业服务器,例如:./gradlew :beam-runners-reference-job-server:run -PlogLevel=debug -PvendorLogLevel=warning。有关详细信息,请参阅上述链接中的 Java 部分。 3 正确设置python环境。更多详情can be found here。 使用以下命令运行管道(在文件夹 sdk/python 下),

示例:

python -m apache_beam.examples.wordcount\
  --input=gs://dataflow-samples/shakespeare/kinglear.txt \
  --output=/tmp/output \
  --runner=PortableRunner \
  --job_endpoint=localhost:8099 \
  --experiments beam_fn_api

对于 Flink,您需要使用不同的作业服务器:./gradlew beam-runners-flink_2.11-job-server:runShadow。主机:端口是localhost:8099

相关电子邮件讨论:one、two。

可能值得查看一些代码:one、two。

【讨论】:

以上是关于Python + Beam + Flink的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 的数据流/Beam 中的示例

在 python Apache Beam 中打开一个 gzip 文件

使用Apache-beam在Python中删除字典中的第一项[重复]

PubSub 到 BigQuery - Python 中的数据流/Beam 模板?

无法使用 Apache Beam(Python SDK)读取 Pub/Sub 消息

如何使用 Apache Beam (Python) 将多个嵌套的 JSON 写入 BigQuery 表