Hadoop apachepig中的DEFINE语句

Hadoop apachepig中的DEFINE语句,hadoop,mapreduce,global-variables,apache-pig,Hadoop,Mapreduce,Global Variables,Apache Pig,我解析了json输入 --Load Json loadJson = LOAD '$inputJson' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad=true') AS (json:map []); “$inputJson”-是具有json结构的文件 然后,我解析json以获取我的猪作业的一些参数 --PARSING JSON --Source : Is the input file I need to pr

我解析了json输入

--Load Json 
loadJson =  LOAD '$inputJson' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad=true') AS (json:map []);
“$inputJson”
-是具有json结构的文件

然后,我解析json以获取我的猪作业的一些参数

--PARSING JSON
--Source : Is the input file I need to process in Pig job
a = FOREACH loadJson GENERATE json#'source' AS ParsedInput;
我把它储存在“a”里。“a”包含输入路径ie
/home/sree/foo.txt

现在我需要将数据加载到一个包中,接下来我需要执行一个普通的load语句

inputdata = LOAD "/home/sree/foo.txt";
我要做的不是这个

inputdata = LOAD a;
这就是我想要达到的目标

到目前为止,我尝试的是使用
define

--Source
a = FOREACH loadJson GENERATE json#'source' AS ParsedInput;

-- define a global constant for storage
define myIn "a";

--Load data
inputdata = LOAD "$myIn" ;
dump data;
但显示出意外的内部错误。未定义参数:a


如何加载该文件?

据我所知,pig不允许在DEFINE而不是DEFINE语句中使用关系。 参考这个,

http://pig.apache.org/docs/r0.10.0/basic.html#define-udfs

我怎样才能做到这一点。有其他选择吗?@Reddevil:我重新措辞了我的问题。请看一下。如果没有,请告诉我understand@SreeVeni..From邮报,,我认为您正在从json字段提取值。是否正确您不能在Define语句中使用关系而不是流函数和UDF函数。它不能指向Define语句中指定的关系。