私は豚には非常に新しいので、豚で非常に基本的な処理を実行しようとしている間にいくつかの問題に直面しています。行が2列がCOL_1持っているとcol_2(列がchararrayあると仮定)と私が取得する必要があり、たとえば 豚のデータ処理
2-日付に基づいてレコードをフィルタリングするための処理ロジックを書く豚
を使用してファイルの1-ロード、 col_1とcol_2の間に1日の差があるレコードのみ。
3最後に、フィルタリングされたレコードをハイブテーブルに格納します。
入力ファイル(タブ区切り): -
2016-01-01T16:31:40.000+01:00 2016-01-02T16:31:40.000+01:00
2017-01-01T16:31:40.000+01:00 2017-01-02T16:31:40.000+01:00
私は
A = LOAD '/user/inp.txt' USING PigStorage('\t') as (col_1:chararray,col_2:chararray);
私は以下のように取得しています結果試す: - DUMPのAを、
(,2016-01-03T19:28:58.000+01:00,2016-01-02T16:31:40.000+01:00)
(,2017-01-03T19:28:58.000+01:00,2017-01-02T16:31:40.000+01:00)
わからないのはなぜですか? 私はこの方法でタブで区切られたファイルを解析する方法と、その文字列を日付に変換して日差に基づいてフィルタリングする方法を教えてください。
おかげ
ほとんどの場合、loadステートメントのスキーマ部分にスペースがあります。 –
ありがとう、私は問題を解決しました。実際には最初にもう1つのフィールドがあり、intとして定義し、longに変更して動作させました。 –