돼지의 MultiStorage를 사용하여 입력 파일을 많은 작은 출력 파일로 분할하고 있습니다.Pig MultiStorage 속도 향상 방법
<snip registers and defines>
a = load '$FILES' using AvroStorage();
a_projected = foreach a generate field1, field2;
a_explode = foreach a_projected generate field1, FLATTEN(TOKENIZE(field2));
--splitting based on field2
store a_explode into '$OUTPUT' using org.apache.pig.piggybank.storage.MultiStorage('$OUTPUT','1');
이에서 읽고 S3에 쓰기 : 도움이된다면
는 스크립트가 같이 보입니다. '$ FILES'매개 변수는 파일 크기가 약 2,000MB 인 약 1 만 줄의 단일 폴더입니다.
MultiStorage를 사용할 때 하나의 파일이있는 약 4-5000 개의 개별 폴더 순서로 분할되며 실행하는 데 약 15 분이 걸립니다.
PigStorage를 사용할 때 예상대로 출력 파일이 하나 나옵니다. 실행하는 데 약 20 초가 걸립니다.
MultiStorage에서 예상되는 성능입니까? 그것을 개선하기 위해 할 수있는 일이 있습니까?