我解析了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
如何加载该文件?
1条答案
按热度按时间vnzz0bqm1#
据我所知,pig不允许在define而不是语句中使用关系。参考这个,