【问题标题】:Load multiple files in pig在 pig 中加载多个文件
【发布时间】:2012-09-27 21:53:17
【问题描述】:

我是猪新手。

在 pig 中,我想加载多个带有时间戳的文件。

如果我在 2012/02/12 到 2012/02/19 之间加载文件,则以下工作

$START = "12"
$END = "19"
raw_data = load '/table/status/2012/02/{$START,$END}' using Loader()

假设开始日期为 2011/12/29,结束日期为 2012/01/04,如何更改代码行?

感谢您的帮助!

【问题讨论】:

    标签: apache-pig


    【解决方案1】:

    可以使用以下 glob 加载您需要的范围:

    raw_data = load '/table/status/{2011/12/{29,3{0,1}},2012/01/0[1-4]}' using Loader()
    

    请注意,Pig 使用 Hadoop 的 globbing,因此您可以使用的内容取决于底层 HDFS 的版本。这适用于 0.20。

    如果需要更复杂的范围,那么这种目录枚举方式可能有点不灵活。因此,请考虑使用 shell 脚本来收集您需要的目录,如建议 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      相关资源
      最近更新 更多