python - Apache Beam I/O 转换
问题描述
Apache Beam 文档Authoring I/O Transforms - Overview指出:
在 Beam 中读取和写入数据是一项并行任务,使用 ParDos、GroupByKeys 等通常就足够了。很少,您将需要更专业的 Source 和 Sink 类来实现特定功能。
有人可以提供一个非常基本的例子来说明如何在 Python 中做到这一点吗?
例如,如果我有一个包含 100 个 jpeg 图像的本地文件夹,我将如何:
- 使用 ParDos 读取/打开文件。
- 在图像上运行一些任意代码(也许将它们转换为灰度)。
- 使用 ParDos 将修改后的图像写入不同的本地文件夹。
谢谢,
解决方案
在您的情况下,首先获取文件的名称,然后一次读取每个文件并写入输出。您可能还希望将文件名推送到 groupby 以使用运行器提供的并行化。因此,总的来说,您的管道可能类似于读取文件名列表 -> 使用 GroupBy Key 将文件名发送到随机播放 -> 在 pardo 中一次获取 1 个文件名 -> 在 pardo 中读取单个文件、处理和写入
推荐阅读
- javascript - 在运行的服务器上执行节点功能
- r - 从ggplot(R)中的x轴删除夜间
- javascript - 当 axios 位于 Promise 链中时,如何获得响应?
- php - 在 Woocommerce 中禁用特定优惠券代码的“购物车需要付款”
- node.js - Supertest/Jest 检查标头是否存在
- mysql - 在 Maria DB 中,我可以将 CASE 与表一起使用吗?
- html - 使用 flexbox 以相同的高度均匀分布导航项目
- javascript - 如何在 React 中导入图像文件夹,其中文件中的每个单独图像都可以以状态存储?
- python - 如何从网站上刮取结果的名称?
- jsonschema - 带有 AJV 的扩展模式