2012-08-02 104 views
1

我想用hadoop进行大规模测试,我将拥有大集群(大约50Tb),并且我想为测试生成数据。首先我要测试配置单元性能,并生成结构化数据(CSV)。有人能建议最好的方法吗?生成随机数据进行测试

+0

试试这个:http://www.generatedata.com/# – 2012-08-02 19:49:03

回答

4

第一个问题是你想伪造mapreduce作业来启动没有任何数据的映射器。默认情况下,它会启动每块1个地图任务,所以让我们来欺骗它。

要做到这一点,在HDFS

for i in {1..100}; do echo "hello $i" | hadoop fs -put - fakes/$i.txt ; done 

这创造了一些“假文件”实际上将需要一段时间...也许一两分钟开始了。

然后,写一个“读取”这些文件的MapReduce作业。在地图任务中,请勿实际使用任何数据。在该地图功能中生成随机数据,并将其写出(context.write)。当您的MapReduce作业运行时,它将启动100个地图任务,这些任务将全部并行生成随机数据。

设置减速器的数量为0,这里不需要任何。

+2

https://github.com/adamjshook/mapreducepatterns/blob/master/MRDP/src/main/java/mrdp/ch7/RandomDataGenerationDriver.java < - 这是一种使用输入格式的很酷的方式 – 2013-08-15 16:52:22