2016-09-15 11 views

答えて

0

私はPythonで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

あなたはさらに一歩それを取ると(outputSchemaブール) UDFフィルタにあなたのUDFを変えることができます。 https://pig.apache.org/docs/r0.16.0/udf.htmlフィルタだけでリストを取得します。 – patrungel

関連する問題