Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 减去一行';Pig中另一行的s值_Hadoop_Apache Pig - Fatal编程技术网

Hadoop 减去一行';Pig中另一行的s值

Hadoop 减去一行';Pig中另一行的s值,hadoop,apache-pig,Hadoop,Apache Pig,我正在尝试使用Pig开发一个示例程序来分析一些日志文件。我想分析不同作业的运行时间。当我读取作业的日志文件时,我会得到作业的开始时间和结束时间,如下所示: (Wed,03/20/13,01:03:37,EDT) (Wed,03/20/13,01:05:00,EDT) 现在,为了计算经过的时间,我需要减去这两个时间戳,但是由于这两个时间戳在同一个包中,我不确定如何比较它们。所以我想知道如何做到这一点。谢谢 两个日志行中的作业是否都有唯一的ID?还有什么东西可以指示哪个事件是开始,哪个是结束 如果

我正在尝试使用Pig开发一个示例程序来分析一些日志文件。我想分析不同作业的运行时间。当我读取作业的日志文件时,我会得到作业的开始时间和结束时间,如下所示:

(Wed,03/20/13,01:03:37,EDT)
(Wed,03/20/13,01:05:00,EDT)

现在,为了计算经过的时间,我需要减去这两个时间戳,但是由于这两个时间戳在同一个包中,我不确定如何比较它们。所以我想知道如何做到这一点。谢谢

两个日志行中的作业是否都有唯一的ID?还有什么东西可以指示哪个事件是开始,哪个是结束

如果是这样,您可以读取数据集两次,一次读取开始事件,一次读取结束事件,然后将两者连接在一起。然后您将有一个记录,其中包含两个事件

因此:


看起来此人也有同样的问题:
A = FOREACH logline GENERATE id, type, timestamp;
START = FILTER A BY (type == 'start');

END = FILTER A  BY (type == 'end');

JOINED = JOIN START by ID, END by ID;

DIFF = FOREACH JOINED GENERATE (START.timestamp - END.timestamp); // or whatever;