我是pig新手,我想使用pig从路径加载数据。路径是动态的,并存储在txt文件中。假设我们有一个名为 pigInputPath.txt
在pig脚本中,我计划执行以下操作:
首先使用以下方法加载路径:
InputPath = Load 'pigInputPath.txt' USING PigStorage();
第二次从路径加载数据时使用:
Data = Load 'someprefix' + InputPath + 'somepostfix' USING PigStorage();
但这行不通。我也试过concat,但它也给了我一个错误。有人能帮我吗。谢谢!
1条答案
按热度按时间7ajki6be1#
首先,找到一种将输入路径作为参数传递的方法(引用:hadoop pig:传递命令行参数,https://wiki.apache.org/pig/parametersubstitution)
假设您调用脚本作为
pig -f script.pig -param inputPath=blah
那你就可以了LOAD
从具有所需前缀和后缀的路径,如下所示:接球手
somepostfix
字符串是需要使用/
或者其他类似的特殊字符来告诉pig字符串不是参数名的一部分。避免使用特殊字符的一种方法是执行以下操作: