如何使用pig加载自定义记录(普通数据和json数据的混合)

ncecgwcz  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(229)

我想用这种形式的pig加载我的输入文件数据

row1val1, row1val2, {row1json1}
row2val1, row2val2, {row2json2}
row3val1, row3val2, {row3json3}
...

我想使用已定义的模式加载json数据,行'n'val'n'(前两列),但是pig提供的jsonload无法加载它。
请建议替代品,或者是否可以直接使用pig。
我是否需要重写或编写自己的jsonloader来执行此任务?
好心的建议。谢谢,干杯:)!!

rqcrx0a6

rqcrx0a61#

以csv格式加载数据;尽可能将json作为字符串字段。
尝试对json数据使用javascript udf。虽然不安全,但很简单。我想这取决于你对数据的信任。

function JSON2Pig(JSONString) {
  if (JSONString == null) {
    return null;
  } else {
    obj = eval("("+JSONString+")");
    return obj;
  }

}

相关问题