在 Pig 中以 yyyy-mm-dd 格式获取今天的日期

Posted

技术标签:

【中文标题】在 Pig 中以 yyyy-mm-dd 格式获取今天的日期【英文标题】:Get today's date in yyyy-mm-dd format in Pig 【发布时间】:2014-05-18 13:54:43 【问题描述】:

有没有一种方法可以让我在猪脚本中以 yyyy-mm-dd 格式获取今天的日期。我无法为此获取任何 API。

谢谢

【问题讨论】:

如果它解决了您的问题,您应该接受答案。如果没有,那么您应该对其发表评论并要求更多说明。 【参考方案1】:

您可以像这样定义TODAYS_DATE 变量:

%default TODAYS_DATE `date +%Y-%m-%d`;

并在每次需要时通过在字符串中插入$TODAYS_DATE 来引用它:

'/data/mydata/$TODAYS_DATE'

确保没有打字错误。您也可以使用%declare,但您将失去从命令行或参数文件覆盖值的灵活性。

【讨论】:

当我这样做时,它给了我一个错误 ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during parsing。在第 1 行第 1 列遇到“”%default“”。 我认为您的第一条评论还可以 %default TODAYS_DATE date +%Y/%m/%d。我在我的软件的其他代码中也看到了这一点。但是当我尝试在 grunt shell 上运行时,它给出了一个错误。 我的错,; 出现解析错误。它现在应该可以工作了:) 如果它有助于解决您的问题,请记住接受答案。 还是不行。 Pig 0.12 给出错误:ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during parsing。在第 1 行第 1 列遇到“”%default“”【参考方案2】:

您可以在 pig 脚本中使用ToString(CurrentTime(),'yyyy-MM-dd') as date:chararray

【讨论】:

以上是关于在 Pig 中以 yyyy-mm-dd 格式获取今天的日期的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中以 YYYY-MM-DD HH:MI:Sec.Millisecond 格式获取当前时间?

在 Python 中以 YYYY-MM-DD 获取今天的日期?

在 SQL 中以 YYYY-MM-DD 格式显示日期

Apache Pig ToDate UDF 时间戳格式

在 Java 中以不同的格式将字符串解析为日期

如何在java中获取像yyyy-mm-dd am这样的日期格式[重复]