我有一张有 15 列的桌子。
其中 2 列具有日期格式,例如:09/08/2003。一列 data_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');
我对这个任务有一些问题:
如何计算两列值之间的差异?
如何在猪中以正确的格式放置日期?