如何用猪输入多参数

mar*_*ark 0 hadoop apache-pig

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

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

有人给我举个例子

pig -param nums="'001','002','003'" test.pig
Run Code Online (Sandbox Code Playgroud)

在猪脚本中,

LOAD 'tmp/{nums}.csv' AS ...
Run Code Online (Sandbox Code Playgroud)

但看起来只有001.csv被猪读取.

Chr*_*ite 5

你很可能也需要移动/tmp到params:

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

LOAD '${ins}' AS ...
Run Code Online (Sandbox Code Playgroud)

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

pig -param ins=/tmp/*.csv test.pig
Run Code Online (Sandbox Code Playgroud)