java - Apache Beam 写入转换写入多个文件?
问题描述
我正在查看来自Apache Beam的 wordCount 示例 ,当我尝试在本地运行此示例时,它会将计数写入多个文件。我创建了一个测试项目来从文件中读取和写入数据,甚至写入操作也将输出写入多个文件。如何在单个文件中获得结果?我正在使用直接跑步者
解决方案
这是出于性能原因而发生的。您应该能够使用TextIO.Write.withoutSharding强制单个文件
无分片
public TextIO.Write withoutSharding()
强制将单个文件作为输出和空的分片名称模板。此选项仅与非窗口写入兼容。
对于无窗口写入,限制分片数量可能会降低管道的性能。除非您需要特定数量的输出文件,否则不建议设置此值。
这相当于 .withNumShards(1).withShardNameTemplate("")
推荐阅读
- javascript - “页面顶部”按钮的悬停效果在单击时会粘住,如何撤消此操作?
- api - 如何将所有 API 调用放在一个 JS 文件中,以及如何在组件中使用它来使用来自 API 的内容
- android - 如果用户选择“拒绝且不再询问”而不重新安装应用程序,如何再次显示权限?
- twig - Timber twig 函数输出在不同的服务器上是不同的
- puppeteer - puppeteer 是否有任何 Windows 容器指南?
- java - 如何使用存储在 String 中的方法创建 java.lang.reflect.Method
- bash - 无法从 WSL bash 中的批处理文件运行 Homebrew 应用程序(找不到命令)
- javascript - 登录系统与谷歌电子表格中的数据库连接
- pine-script - 这些 pine 脚本行的 AFL 版本将是什么
- javascript - PM2 - 部署后需要重新启动