3
* .tar.gz 파일 묶음에서 돼지를 실행하는 경우 PigStorage는 압축 해제를 처리하지만 tar 파일의 헤더 행은 처리되지 않습니다. 이 문제를 처리 할 수있는 간단한 방법이 있습니까? 또는 내 자신의 RecordReader를 작성해야합니까? 그리고이게 어떤 모습일까요?돼지의 타르 헤더 처리
* .tar.gz 파일 묶음에서 돼지를 실행하는 경우 PigStorage는 압축 해제를 처리하지만 tar 파일의 헤더 행은 처리되지 않습니다. 이 문제를 처리 할 수있는 간단한 방법이 있습니까? 또는 내 자신의 RecordReader를 작성해야합니까? 그리고이게 어떤 모습일까요?돼지의 타르 헤더 처리
tar를 사용하여 즉시 헤더를 정리할 수 있습니다. 돼지 스크립트에서 다음을 수행하십시오.
--Call to tar that reads from stdin and outputs to stdout
DEFINE CLEANTAR `tar xvf - -O`;
--Now, remove tar headers from your data
cleaned = STREAM mydata THROUGH CLEANTAR;
EDIT : 다음 대안을 추가했습니다.
또한 나오지 사용하여 타르 헤더를 제거 할 수 있습니다
--Remove tar headers using sed
DEFINE CLEANTAR `sed 's/[^\n]*\o000//g'`;
--Now, remove tar headers from your data
cleaned = STREAM mydata THROUGH CLEANTAR;