WordCount的输出存储在多个文件中。 但是,开发人员无法控制文件在群集中的位置(ip,路径)。 在MapReduce API中,开发人员可以编写reduce程序来解决此问题。如何使用DirectRunner或任何其他跑步者在ApacheBeam中处理此问题?Wordcount的输出存储在不同的文件中
1
A
回答
0
事实上 - Apache Beam中的WordCount示例管道使用TextIO.Write
写入其输出,该输出不会(默认情况下)指定输出碎片的数量。
默认情况下,每个运行器独立决定生成多少个碎片,通常基于其内部优化。然而,用户可以通过.withNumShards()
API来控制这个API,这将强制特定数量的分片。当然,强制特定数字可能需要跑步者做更多的工作,这可能会或可能不会导致较慢的执行。
关于“文件在群集中的位置” - Apache Beam的理念是,这种复杂性应该从用户身上抽象出来。事实上,Apache Beam提高了抽象的级别,用户不需要担心这一点。跑步者和/或存储系统有责任有效地进行管理。也许要澄清 - 我们可以与低级编程(例如,直接组装),非托管编程(例如C或C++),还是托管(例如C#或Java)轻松并行)。随着抽象程度越来越高,您不再可以控制数据位置(例如处理器缓存),而是获得功能,易用性和可移植性。
相关问题
- 1. MapReduce WordCount程序 - 输出与输入文件相同
- 2. Python:scapy的输出不能存储在文本文件中?
- 3. 存储输出文件
- 4. 不同的输出文件
- 5. 存储在同一data.frame的输出时输出的行大小不同
- 6. 将输出存储在PIG中的文本文件中
- 7. ASPX文件输出不同于SQL存储过程
- 8. mysqldump不保存输出文件在不同的目录下
- 9. 文件输入/输出,存储数据
- 10. 将输出文件保存在与输入文件不同的位置
- 11. ffmpeg输出文件不同
- 12. fwrite in C在输出文件中给出不同的值
- 13. 将命令的输出存储在Bash中的变量中。输出正在运行,而不是存储
- 14. 存储变量vs输出到文件
- 15. 将输出存储到FASTA文件
- 16. Logback:对不同的输入文件使用不同的输出文件
- 17. PHP的exec()不存储在$输出参数输出
- 18. Wordcount文件的常见词
- 19. 用存储在变量中的文件名输出文件内容
- 20. 将不同的文件集推送到不同的存储库
- 21. 将mysql数据库存储在不同的文件夹中
- 22. 将文件存储在不同的数据库中?
- 23. 将Ruby脚本输出存储到文件中的问题
- 24. 如何为git命令赋予不同的值并将输出存储在每个值的多个文件中?
- 25. 批处理文件:存储命令的输出行而不写入文件?
- 26. 将可执行jar文件输出存储在Perl变量中
- 27. 在一个日志文件中存储crontab php输出
- 28. 不完整的输出变量存储
- 29. 从URL到文件的流文件不存储在内存中
- 30. 使用文本在同一行上输出存储值