使用 Pig latin 从文件中获取最大日期
Posted
技术标签:
【中文标题】使用 Pig latin 从文件中获取最大日期【英文标题】:Get max date from file using Pig latin 【发布时间】:2020-03-18 17:49:29 【问题描述】:我有一个包含日期和其他列的文本文件。 日期列值的格式为“yyyy-MM-dd HH:mm:ss”。
从文本文件中,我想获取最大日期或最新日期。 (注意:我看到 MAX 函数仅在 Pig Latin 中的 GROUP BY 时起作用)
谁能建议是否有办法使用 Pig Latin 或任何替代方法来获得它?
【问题讨论】:
与我们分享一些输入样本,以及您希望给定输入的输出如何Apple|$600|2009-01-14 00:00:00| Apple|$650|2010-12-16 10:20:20| Banana|$800|2019-12-14 00:00:00| Banana|$800|2016-11-11 01:45:03|
从上面的输入,我应该可以得到 maxdate 是 2019-12-14 00:00:00
【参考方案1】:
基于样本数据集,
Apple|$600|2009-01-14 00:00:00|
Apple|$650|2010-12-16 10:20:20|
Banana|$800|2019-12-14 00:00:00|
Banana|$800|2016-11-11 01:45:03|
日期列的最大值可以使用
fruits = LOAD 'fruits.txt' using PigStorage('|');
dt = FOREACH fruits GENERATE ToDate($2, 'yyyy-MM-dd HH:mm:ss');
odt = ORDER dt by $0 DESC;
max = LIMIT odt 1;
dump max;
【讨论】:
以上是关于使用 Pig latin 从文件中获取最大日期的主要内容,如果未能解决你的问题,请参考以下文章
基于感兴趣的日期范围作为参数输入限制在 Pig Latin 中加载日志文件