我有一个pig脚本,我想把文件的内容作为参数传递。例如,文件可能包含如下内容
asdfadfafd"""""" adfadfaf'' '''adsfa adsfadfadfafdafadf
我想将这些内容作为单个参数传递给pig脚本。我该怎么做?
7tofc5zh1#
有多种方法。一个是Pig八戒手稿。pig:- r1 =使用pigstorage(',')作为(show)加载“$inputfiles1”_name:chararray,没有_viewer:int);Pig参数。param:- inputfiles1 = hdfs://192.168.0.107/path-to/input-file执行command:- pig -参数文件hdfs://192.168.0.107/path-to/pig_param.param hdfs://192.168.0.107/path-to/pig_script.pig
bvjveswy2#
好 啊。如果从shell脚本调用pig脚本,则可以向pig脚本发送单个参数或多个参数。只需在shell脚本中初始化变量的值,然后将该值传递给pig脚本假设您的shell脚本名为demo.sh
input_data = "hello"; Pig -P input_data=$input_data /user/cloudera/pigscripts/demo.pig
假设下面是你的Pig代码。您可以访问pig代码中的参数,如下所示
A = LOAD 'input.txt' USING PigStorage(',') AS(id:int,name:chararray); B = FILTER A by name == '$input_data';
类似地,可以将包含某些属性的文件传递给pigscript
Pig -param_file '/user/cloudera/propertyfiles/file1.txt' demo.pig
通过这样做,我们可以使用$
2条答案
按热度按时间7tofc5zh1#
有多种方法。一个是
Pig八戒手稿。pig:- r1 =使用pigstorage(',')作为(show)加载“$inputfiles1”_name:chararray,没有_viewer:int);
Pig参数。param:- inputfiles1 = hdfs://192.168.0.107/path-to/input-file
执行command:- pig -参数文件hdfs://192.168.0.107/path-to/pig_param.param hdfs://192.168.0.107/path-to/pig_script.pig
bvjveswy2#
好 啊。如果从shell脚本调用pig脚本,则可以向pig脚本发送单个参数或多个参数。
只需在shell脚本中初始化变量的值,然后将该值传递给pig脚本
假设您的shell脚本名为demo.sh
假设下面是你的Pig代码。您可以访问pig代码中的参数,如下所示
类似地,可以将包含某些属性的文件传递给pigscript
通过这样做,我们可以使用$