在 pig 中加载多个文件

Posted

技术标签:

【中文标题】在 pig 中加载多个文件【英文标题】:Load multiple files in 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,如何更改代码行?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于在 pig 中加载多个文件的主要内容,如果未能解决你的问题,请参考以下文章

在 PIG 中加载 CSV 文件

在 Hortonworks Sandbox 内的 Pig 脚本中加载 JSON 文件

在 Apache Pig 中加载 csv 文件时出错

Pig:使用 .pig_schema 模式文件加载数据

基于感兴趣的日期范围作为参数输入限制在 Pig Latin 中加载日志文件

如何在pig中加载带有制表符和逗号的数据集