Pen*_*gin 16 java simulation hadoop
已经在Java中编写了一个随机模拟,它从磁盘上的几个CSV文件加载数据(总计大约100MB)并将结果写入另一个输出文件(不是很多数据,只是一个布尔值和几个数字).还有一个参数文件,对于不同的参数,预计模拟输出的分布会发生变化.要确定正确/最佳输入参数,我需要在多个输入参数配置中运行多个模拟,并查看每个组中输出的分布.每个模拟需要0.1-10分钟,具体取决于参数和随机性.
我一直在阅读有关Hadoop的内容,并想知道它是否可以帮助我运行大量的模拟; 我可能在不久的将来可以访问大约8台联网桌面计算机.如果我理解正确,map函数可以运行我的模拟并吐出结果,reducer可能是标识.
我担心的是HDFS,它似乎意味着巨大的文件,而不是一些小的CSV文件(没有一个足够大,甚至可以构成64MB的最小建议块大小).此外,每个模拟只需要每个CSV文件的相同副本.
Hadoop对我来说是错误的工具吗?
JD *_*ong 21
我在这里看到了许多答案基本上都在说,"不,你不应该使用Hadoop进行模拟,因为它不是为模拟而构建的." 我相信这是一个相当短视的观点,就像1985年的某个人说的那样,"你不能用PC进行文字处理,PC就是用于电子表格!"
Hadoop是构建模拟引擎的绝佳框架.几个月以来,我一直在将它用于此目的,并且在小数据/大型计算问题上取得了巨大成功.这是我迁移到Hadoop进行模拟的前5个原因(使用R作为我的语言进行模拟,顺便说一下):