15列のテーブルがあります。
この列のうち 2 つは日付形式です。たとえば、2003 年 9 月 8 日です。1 つの列 data_1 は開始日、もう 1 つの data_2 は終了日です。
これと列の差を数え、この差が 30 日を超えているかどうかを確認する必要があります。
結果は、30 日以上の差がある値を示す列と、その他の 15 列すべてを含むテーブルである必要があります。スクリプトは次のようになります。
table = LOAD '$INPUT' AS (data_1, data_2, a1, a2, ... a13);
ggdif = (data_2 - data_1);
C = FILTER table BY (ggdif > 30) AS differ;
D = FOREACH C GENERATE a1 .. a13;
STORE D INTO '$OUTPUT' USING PigStorage('\t');
このタスクにはいくつかの問題があります。
2列の値の差を数える方法は?
豚に正しい形式で日付を入れる方法は?