2012-08-02 158 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