我有一系列命令行应用程序,这些应用程序在〜3GB数据文件中接收原始数据。这些应用程序链接在一起以产生较小的输出。我有一个6核系统,每个应用程序只需要一个核,所以我想我可以并行运行6个。
我一直在尝试使这一过程自动化(包括整理结果),并一直在Hadoop上阅读以解决该问题。
Hadoop是否适合此解决方案?如果是,那么我应该使用它的哪一部分(或者还有其他更适合的解决方案)?
编辑
为了使这一点更加清晰,粗略的管道如下所示:
.-> [A] -> W1 -> [B] -> X1 -> [C] -> Y1 -.
/ \
V -< >- [D] -> Z
\ /
`-> [M] -> W2 -> [B] -> X2 -> [C] -> Y2 -`
..哪里
[A, B, C, D]
是命令行应用程序。 V
是一个3GB数据文件(其中有数百个并且还在计数)。 W1
和W2
是大约3MB的中间文件。 X1
和X2
是大约200KB的中间文件。 Y1
和Y2
是大约200KB的中间文件。 Z
是最终报告。 最佳答案
这取决于您的要求。如果您的数据要增加,并且如您所说是原始或非结构化格式,那么hadoop可以为您提供帮助。
关于hadoop - hadoop是在单个计算机上管理数据批处理的可行解决方案吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31001925/