私はPigで処理しようとしているCSVファイルとして入力を持っています。 csvには、一部の行の破損値を含む日付列があります。 FOREACH...GENERATE
ステートメントの日付列にToDate()関数を適用する前に、破損している行(日付列が壊れている)を除外するメカニズムを提案してください。ToDate for Pigで個々の行の例外を避ける
私のデータのサンプル形式は:
A、21,12/2010分の1 8:26
B、33,12/2010分の1 8:26
C、42、名前(csvファイルを想定しYにロードされます:私は
D、30,12/2013分の1 9時26
私はこれをロードして、これを変換することができるようにしたいが破損しています、id 、日付)
X = FOREACH Y GENERATE ToDate(date, 'mm/dd/yyyy HH:mm') AS newdate;
私はCで始まる行をフィルタリングするために上記の文をそのまま、上記の文が例外をスローし、以来、いつ私はDUMP X;
ジョブが失敗する前にY
にFILTER
を適用したいです。
私が考えることができる最も明白でストレートなのは、フィールドの長さでフィルタリングすることです。それ以外にも例外をキャッチするためのUDFを書くことができます。 – madbitloman