在 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 中加载多个文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Hortonworks Sandbox 内的 Pig 脚本中加载 JSON 文件