2016-09-15 3 views

답변

0

나는 결국 파이썬에서 UDF를 만들었습니다.

from pig_util import outputSchema 
from datetime import datetime 
date_format = '%Y-%m-%d %H:%M:%S' 

@outputSchema('number:is_date') 
def is_date(date): 
    try: 
     datetime.strptime(date, date_format) 
    except ValueError: 
     return 0 
    return 1 

그리고 돼지

는 :

REGISTER 'myudf.py' using jython as udf 
raw = load '/path/to/file.csv' 
    USING PigStorage(',') 
    AS (id:chararray, consumption_date:chararray); 
modified = FOREACH raw 
    GENERATE id, consumption_month, udf.is_date(consumption_month) as is_date; 
bad = FILTER modified BY is_date == 0; 
dump bad; 
+1

당신은 한 걸음 더 나아가 그것을 받아 UDF 필터 (outputSchema에 대한 부울)로 UDF를 해제 할 수 있습니다. https://pig.apache.org/docs/r0.16.0/udf.html 필터만으로 목록을 얻을 수 있습니다. – patrungel

관련 문제