我在文本文件中存储了以下人类可读的日期格式:
Wed Oct 15 09:26:09 BST 2014
Wed Oct 15 19:26:09 BST 2014
Wed Oct 18 08:26:09 BST 2014
Wed Oct 23 10:26:09 BST 2014
Sun Oct 05 09:26:09 BST 2014
Wed Nov 20 19:26:09 BST 2014
如何使用转换日期,使其与pig的todate()函数兼容,然后使用gethour()、getyear()、getday()和getmonth()将日期范围约束和逻辑应用于查询?
1条答案
按热度按时间lh80um4z1#
1.pig只支持几种格式的日期,因此您需要根据以下格式之一转换日期和时间。
http://docs.oracle.com/javase/6/docs/api/java/text/simpledateformat.html
2.您的输入有bst作为时区,但在pig中不支持bst,因此您需要选择一个与bst等效的不同时区。
这里有时区http://joda-time.sourceforge.net/timezones.html
示例:
我选择的时间格式为“eee,d mmm yyy hh:mm:ss z”wed,4 jul 2001 12:08:56”,bcoz这与您的输入数据有些匹配。
英国夏令时时区不可用,所以我选择“gmt”作为时区,您可以根据需要更改。
输入文件
Pig手稿:
输出: