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

时间:2015-10-13 08:14:47

标签: json hadoop apache-pig

我想使用这种形式的

加载我的输入文件数据
row1val1, row1val2, {row1json1}
row2val1, row2val2, {row2json2}
row3val1, row3val2, {row3json3}
...

我想在行' n' n'中加载json数据。 (前两列)使用已定义的模式,但PIG提供的JsonLoader无法加载它。

请建议替代方案,或者是否可以直接使用PIG进行。

我是否需要覆盖或编写自己的JsonLoader来执行此任务?

请建议。 谢谢,欢呼:)!

1 个答案:

答案 0 :(得分:0)

将数据加载为CSV;无论如何都可以将JSON作为字符串字段。

尝试将javascript UDF用于JSON数据。 不安全,但很简单。我想这取决于你对数据的信任。

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

}