在 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 列遇到“date +%Y/%m/%d
。我在我的软件的其他代码中也看到了这一点。但是当我尝试在 grunt shell 上运行时,它给出了一个错误。
我的错,;
出现解析错误。它现在应该可以工作了:)
如果它有助于解决您的问题,请记住接受答案。
还是不行。 Pig 0.12 给出错误:ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during parsing。在第 1 行第 1 列遇到“您可以在 pig 脚本中使用ToString(CurrentTime(),'yyyy-MM-dd') as date:chararray
。
【讨论】:
以上是关于在 Pig 中以 yyyy-mm-dd 格式获取今天的日期的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Java 中以 YYYY-MM-DD HH:MI:Sec.Millisecond 格式获取当前时间?