define语句

jjjwad0x  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(350)

我解析了json输入

--Load Json 
loadJson =  LOAD '$inputJson' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad=true') AS (json:map []);
``` `'$inputJson'` -是具有json结构的文件。
然后我解析了json以获取我的pig作业的一些参数

--PARSING JSON
--Source : Is the input file I need to process in Pig job
a = FOREACH loadJson GENERATE json#'source' AS ParsedInput;

我把它储存在“a”里包含输入路径ie `/home/sree/foo.txt` 现在我需要将数据加载到一个包中

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
如何加载该文件?

vnzz0bqm

vnzz0bqm1#

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

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

相关问题