我有一系列命令行应用程序,它们接收~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
&amp; W2
是大约3MB的中间文件。X1
&amp; X2
是〜200KB的中间文件。Y1
&amp; Y2
是〜200KB的中间文件。Z
是最终报告。答案 0 :(得分:0)
这取决于您的要求。如果您的数据会增加,并且它是原始的或非结构化的格式,如您所说,那么hadoop可以帮助您。
答案 1 :(得分:0)
我认为你不应该使用Hadoop,除非你真的需要它。
因此,在您的情况下,根据您所说的内容和合理的数据量,支付使用Hadoop的成本是没有意义的。
我的2美分。