0

我有3个表要批量输入,如何在pig中指定参数?

例如,tmp/001.csv,tmp/002.csv,tmp/003.csv,在 pig 脚本中,我如何编写 -param 和 LOAD 语句来一次性输入这些表?

有人给我一个例子

pig -param nums="'001','002','003'" test.pig

在猪脚本中,

LOAD 'tmp/{nums}.csv' AS ...

但看起来猪只读取了 001.csv 。

4

1 回答 1

5

您很可能也需要将其移至/tmp参数:

pig -param ins=/tmp/001.csv,/tmp/002.csv,/tmp/003.csv test.pig

LOAD '${ins}' AS ...

显然,如果您有许多文件要列出(并且它们都可以匹配一个简单的 glob),那么这可以进一步减少:

pig -param ins=/tmp/*.csv test.pig
于 2012-06-20T10:32:43.190 回答