在pig脚本中将文件的内容作为参数传递

afdcj2ne  于 2021-06-25  发布在  Pig
关注(0)|答案(2)|浏览(367)

我有一个pig脚本,我想把文件的内容作为参数传递。例如,文件可能包含如下内容

asdfadfafd""""""
adfadfaf''  '''adsfa
adsfadfadfafdafadf

我想将这些内容作为单个参数传递给pig脚本。我该怎么做?

7tofc5zh

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

bvjveswy

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

通过这样做,我们可以使用$

相关问题