Apache pig加载多个文件

时间:2017-03-10 21:57:09

标签: apache-pig

我有以下文件夹结构,其中包含符合相同架构的内容 -

/project/20160101/part-v121
/project/20160105/part-v121
/project/20160102/part-v121
/project/20170104/part-v121

我已经实现了一个使用JSONLoader加载的猪脚本。处理单个文件。但是,我需要使它通用,以读取日期文件夹下的所有文件。

现在我已设法使用以下内容提取文件路径 -

hdfs -ls hdfs://local:8080/project/20* > /tmp/ei.txt
cat /tmp/ei.txt | awk '{print $NF}' | grep part > /tmp/res.txt

现在我需要知道如何将此列表传递给pig脚本,以便我的程序在所有文件上运行。

1 个答案:

答案 0 :(得分:0)

我们可以在 LOAD 语句中使用正则表达式路径。

在您的情况下,以下声明应该有所帮助,如果您遇到任何问题,请与我们联系。

A = LOAD 'hdfs://local:8080/project/20160102/*' USING JsonLoader();

假设输入目录中有.pig_schema(由JsonStorage生成)。

参考Authentication and authorization for API Apps in Azure App Service