0
衍生的目录结构,我想实现以下目标:商店猪作业的输出到来自数据
我输入的数据如下所示
{"metadata":
{
"producerName":"capture_api",
"producerVersion":"3.0.13"
},
"payload":
{
--some payload
}
}
我想用一个来斗这个数据猪脚本如下
/finalOutputDir/producerName/producerVersion/File.txt
有没有办法可以做到这一点。我曾尝试使用MultiStorage函数,但该类仅支持一个字段。我可以覆盖多级中的功能,但只是想检查是否有更简单的选项。
所以我如下解决了这个问题:rawJsonData = LOAD '数据' USING com.twitter.elephantbird.pig.load.JsonLoader( ' - nestedLoad'); namedJsonData = FOREACH rawJsonData GENERATE CONCAT($ 0#'metadata'#'producerName',CONCAT('/',$ 0#'metadata'#'producerVersion')),$ 0#'payload'; STORE namedJsonData INTO'finalOutputDir'USING MultiStorage('/ data/fridge/flume/rl.Q.data_event /','0','none',',');将像producerName/producerVersion这样的列添加到数据中实际上是将其写入目录结构中 –
您应该将解决方案放在下面的答案框中,而不是注释中。 –