2016-11-04 3 views
0

나는 플랫 파일에서 돼지를 통해 얻은 데이터의 데이터 유형을 검증하려고 노력 해왔다.돼지의 데이터 유형을 확인하는 방법은 무엇입니까?

간단한 CAT로 트릭을 할 수 있지만 플랫 파일은 거대하며 때로는 특수 문자가 포함될 수 있습니다.

파일의 특수 문자가 포함 된 레코드를 필터링해야하며 데이터 형식이 int이 아닌 경우에도 필터링해야합니다. 돼지에서 이것을 할 수있는 방법이 있습니까? getType().getName() 자바의 사용법을 여기서 찾으려고합니다.

스키마를 적용하고 Describe를 사용하면 데이터를로드하는 동안 수행 한 다음 미스 매칭을 제거하지만 스키마를 강제 적용하지 않으면 스키마에 아무 것도 없습니다.

어떤 제안 사항이 도움이 될 것입니다.

답변

0

로드 라인에 데이터 : charraray와 숫자 이외의 문자가 포함 된 레코드를 필터링하는 정규 표현식을 사용

A = LOAD 'data.txt' AS (line:chararray); 
B = FILTER A BY (line matches '\\d+$'); -- Change according to your needs. 
DUMP B; 
관련 문제