apache pig - 基于日期列存储文件
Posted
技术标签:
【中文标题】apache pig - 基于日期列存储文件【英文标题】:apache pig - store files based on date column 【发布时间】:2015-04-01 03:37:25 【问题描述】:请帮帮我..我有下面的场景 - 输入文件..
ID name Time-stamp
1234 kiran 18-MAR-2015 01:02:31
1234 kiran 18-MAR-2015 01:02:31
1234 kiran 19-MAR-2015 01:02:31
1234 kiran 18-MAR-2015 11:02:31
1234 kiran 20-MAR-2015 01:02:00
1234 kiran 11-MAR-2015 21:12:31
1234 kiran 18-MAR-2015 01:02:31
1234 kiran 30-MAR-2015 01:02:31
1234 kiran 22-MAR-2015 01:11:00
1234 kiran 30-MAR-2015 01:02:31
1234 kiran 19-MAR-2015 01:02:00
现在我需要根据时间戳列中的日期编写输出文件,输出将是:
user/username/DATE/part-m-000000
-- DATE 是可变的,所以文件夹名称应该是
user/username/18-MAR-2015/part-m-000000
上面的文件包含单个日期的所有值
1234 kiran 18-MAR-2015 01:02:31
1234 kiran 18-MAR-2015 01:02:31
1234 kiran 18-MAR-2015 11:02:31
1234 kiran 18-MAR-2015 01:02:31
另一个文件夹名称应该是
user/username/19-MAR-2015/part-m-000000
上面的文件包含单个日期的所有值
1234 kiran 19-MAR-2015 01:02:31
1234 kiran 19-MAR-2015 01:02:00
另一个文件夹名称应该是
user/username/20-MAR-2015/part-m-000000
上面的文件包含了单一日期的所有值
1234 kiran 20-MAR-2015 01:02:00
另一个文件夹名称应该是
user/username/22-MAR-2015/part-m-000000
上面的文件包含了单一日期的所有值
1234 基兰 22-MAR-2015 01:11:00
另一个文件夹名称应该是
user/username/30-MAR-2015/part-m-000000
上面的文件包含了单一日期的所有值
1234 kiran 30-MAR-2015 01:02:31
1234 kiran 30-MAR-2015 01:02:31
请帮帮我
谢谢你.. 斯里
【问题讨论】:
【参考方案1】:以下步骤应该会有所帮助 -
-
使用日期函数将时间戳转换为所需格式。
按日期分组
扁平化组
使用 org.apache.pig.piggybank.storage.MultiStorage 保存 #3 的结果。
【讨论】:
以上是关于apache pig - 基于日期列存储文件的主要内容,如果未能解决你的问题,请参考以下文章
从文件名中提取时间戳并使用 Pig 将其添加到新列(例如日期)中