Apache Beam I/O转换

2024-10-04 11:22:48 发布

您现在位置:Python中文网/ 问答频道 /正文

Apache Beam文档Authoring I/O Transforms - Overview说明:

Reading and writing data in Beam is a parallel task, and using ParDos, GroupByKeys, etc… is usually sufficient. Rarely, you will need the more specialized Source and Sink classes for specific features.

有人能提供一个非常基本的例子来说明如何在Python中做到这一点吗?你知道吗

例如,如果我有一个包含100个jpeg图像的本地文件夹,我将如何:

  1. 使用ParDos读取/打开文件。你知道吗
  2. 在图像上运行一些任意代码(可能将它们转换为灰度)。你知道吗
  3. 使用ParDos将修改后的图像写入其他本地文件夹。你知道吗

谢谢你


Tags: andin文档图像文件夹dataisapache
1条回答
网友
1楼 · 发布于 2024-10-04 11:22:48

下面是管道https://github.com/apache/beam/blob/fc738ab9ac7fdbc8ac561e580b1a557b919437d0/sdks/python/apache_beam/examples/wordcount.py#L37的示例

在您的示例中,首先获取文件名,然后逐个读取每个文件并写入输出。 您可能还希望将文件名推送到groupby以使用运行程序提供的并行化。 所以总的来说,你的管道看起来像 读取文件名列表->;使用GroupBy键将文件名发送到Shuffle->;在pardo中一次获取一个文件名->;在pardo中读取单个文件、处理和写入

相关问题 更多 >