在Apache Pig中创建时间序列



我需要一些关于APACHE Pig脚本的帮助:

考虑以下数据集:

ID |名称|创建日期
123|ABC | 2014-12-15 00:00:00.000

123|ABC | 2014-12-25 00:00:00.000

123|DEF|2014-12-31 00:00:00.000

123|ABC | 2015-01-02 00:00:00.000

123|DEF|2015-02-16 00:00:00.000

在上面的数据中,对于任何特定的ID,都可以分配和重新分配不同的NAME,例如上面的ID:123有两个名称分配给它:ABC、DEF这里的要求是基于2个创建的日期创建一种ID和NAME的时间序列,并创建一个开始日期和结束日期。为了进一步澄清,我想要一个ID何时被分配给特定名称的所有序列,以及它的开始日期和结束日期是什么。以下是我期望的输出:

ID |名称|开始日期|结束日期

123|ABC | 2014-12-15 00:00:00.000 | 2014-12-25 00:00:0.000

123|DEF|2014-12-31 00:00:00.000|2015-01-02 00:00:00.000

123|ABC|2015-01-02 00:00:00.000|2015-02-16 00:00:00.000

123|ABC | 2015-02-16 00:00:00.000|

提前感谢

根据我对您问题的理解,我创建了一个脚本。

A=使用PigStorage('|')将'pigepr.txt'加载为(id1,name1,cdate1);

B=使用PigStorage('|')作为(id,name,cdate)加载'pigepr.txt';

ranked=等级A;

rankb=秩B;

B1=按(rank_B>1)过滤rankb;

rankb1=等级B1;

C=加入按rank_A排序的rankb1,按rank_B1排序;

D=foreach C生成ranked::id1,ranked::name1,ranged::cdate1,rankb1::cdate;

转储D;

相关内容

  • 没有找到相关文章