hadoop - 在Apache Pig中创建时间序列

标签 hadoop mapreduce apache-pig

我需要以下APACHE Pig脚本的帮助:

考虑以下数据集:

ID | NAME |创建日期
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分配了2个名称:ABC,DEF
此处要求它根据2个创建日期创建一种ID和NAME的时间序列,并创建开始日期和结束日期。
为了澄清一点,我想知道将ID分配给特定名称的所有顺序,以及它的开始日期和结束日期。
以下是我期望的输出:

ID | NAME |开始日期|结束日期

123 | ABC | 2014-12-15 00:00:00.000 | 2014-12-25 00:00:00.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('|')作为(id1,name1,cdate1)加载'pigexpr.txt';

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

排名=排名A;

rankb =等级B;

B1 =通过(rank_B> 1)过滤等级

rankb1 =等级B1;

C =联接按rank_A排名,rankb1 BY rank_B1;

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

转储D;

关于hadoop - 在Apache Pig中创建时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28825497/

相关文章:

hadoop - Confluent HDFS 连接器

hadoop - 关于在 spark 上配置配置单元的问题

hadoop - 如何从 pig 中的文本文件的一行中转储特定列?

hadoop - 如何从 HDFS 运行 pig 脚本?

hadoop - 优化配置单元查询以避免 JOIN

Hadoop log4j 无法正常工作,因为找不到记录器的附加程序 (org.apache.hadoop.metrics2.lib.MutableMetricsFactory)

hadoop - 运行 Hadoop MapReduce,是否可以调用 HDFS 外部的外部可执行文件

java - Hadoop 在从 Spring 批处理管理员启 Action 业时获取连接被拒绝的异常

hadoop - 在特定节点上运行映射器作业

hadoop - 我有CSV和TSV的10个文件。我想使用Apache Hadoop中的MapReduce获得输出什么是CSV和TSV数据