首页 > 代码库 > Pig 在 Shell中使用,批量加载处理文件

Pig 在 Shell中使用,批量加载处理文件

首先,我想达到的目的是批量的处理一个文件夹下的的许多文档,这些文档保存了我要处理的数据,因为pig是初学,,所以不知到该怎么批量的load,没有写过

自己的UDF,只能一个一个文件的load,然后处理。

但是这个肯定不是我希望的处理方式,于是联想到是不是可以将pig脚本插入到shell中然后循环执行。

最后尝试成功了,当然我相信pig的udf中可以自己定义这种load的方式,但是如果出于快速实现的目的可以

先使用这种方式。

下面是shell的代码部分:

mkdir result_0925_D2
for eachfile in `ls -B  | grep 00.*`
do
        echo $eachfile
        input_=$eachfile
        output_=./result_0925_D2/$input_
        echo $output_
        file="$input_"
        file_out="$output_"
        pig -param input=$file  -param output=$file_out -x local new_getResult.pig
done

其中最重要的是就是在执行pig的时候,给输入输出文件循环的代入。

Pig 在 Shell中使用,批量加载处理文件