수정 된 답변
사람들은 이전에이 문제에 직면 해 왔지만 대답은 일반적으로 "UDF"입니다. 불행히도, 아마도 귀하의 질문에 대한 최선의 대답 : 자바 또는 파이썬 try/catch 오류 처리를 사용하여 데이터 유효성 검사를 수행 UDF 생각합니다.
또 다른 대답은 SPLIT
을 사용하여 필드의 데이터를 평가하고 해당 별칭으로 데이터를 전달하는 것입니다. 이는 예상치 못한 데이터를 처리하는 일반적인 방법입니다.
원래 답변 : 돼지의 버전 0.12에서
, 당신은/시도 캐치만큼 좋은하지 않은 ASSERT
연산자를 가지고,하지만없는 것보다는 낫다. 워드 프로세서
:
Suppose we have relation A.
A = LOAD 'data' AS (a0:int,a1:int,a2:int);
DUMP A;
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)
Now, you can assert that a0 column in your data is >0, fail if otherwise
ASSERT A by a0 > 0 'a0 should be greater than 0';
JamCon - 답변 해 주셔서 감사합니다. 당신이 말했듯이 - 나는 일반적인 오류 관리의 왕을 찾고 있습니다. 내 경우에는 로그에 예상보다 많은 열이 포함되어있어 패턴에 맞지 않습니다. 무엇이 잘못되었을 지 모르는 경우 ASSERT를 사용할 수 없습니다. 돼지가 그런 기본적인 기능을 제공하지 않는다고 생각하는 것은 정말 ... –