【问题标题】:apache pig - store files based on date columnapache pig - 基于日期列存储文件
【发布时间】: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

请帮帮我

谢谢你.. 斯里

【问题讨论】:

    标签: apache-pig


    【解决方案1】:

    以下步骤应该会有所帮助 -

    1. 使用日期函数将时间戳转换为所需格式。
    2. 按日期分组
    3. 扁平化组
    4. 使用 org.apache.pig.piggybank.storage.MultiStorage 保存 #3 的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      相关资源
      最近更新 更多