2012-08-02 3 views
1

hadoop으로 큰 테스트를하고 싶습니다. 큰 클러스터 (약 50 Tb)를 가지고 테스트 용 데이터를 생성하고 싶습니다. 우선 테스트 하이브 성능을 원하고 구조화 된 데이터 (CSV)를 생성합니다. 아무에게도 최선의 방법을 조언 해 줄 수 있습니까?테스트 용 랜덤 데이터 생성

+0

시도해보십시오. http : //www.generatedata.com/# –

답변

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 < - 여기에 입력 형식을 사용하여 멋진 방법이 있습니다. –