Apache pig 如何解析Pig中的复杂数据类型

Apache pig 如何解析Pig中的复杂数据类型,apache-pig,Apache Pig,我有一个input.txt,如下所示: {"zone_id":12,"position":[100,200,300]} {"zone_id":14,"position":[101,201,0]} (12, 100, 200, 300) (14, 101, 201, 0) 我的问题是如何获得如下输出: {"zone_id":12,"position":[100,200,300]} {"zone_id":14,"position":[101,201,0]} (12, 100, 200,

我有一个input.txt,如下所示:

{"zone_id":12,"position":[100,200,300]} 
{"zone_id":14,"position":[101,201,0]} 
(12, 100, 200, 300)
(14, 101, 201, 0)
我的问题是如何获得如下输出:

{"zone_id":12,"position":[100,200,300]} 
{"zone_id":14,"position":[101,201,0]} 
(12, 100, 200, 300)
(14, 101, 201, 0)

谢谢你的回答

解决这个问题有很多方法,但我认为最简单的方法是使用

这种方法使用一次读取一行(由换行符分隔)到
字符集
。 接下来,
FOREACH…GENERATE
应用
REGEX\u EXTRACT\u ALL
,它从括号中提取每个组并将其返回到元组中。现在你想做什么就做什么

如果您的数据更改了表单,请小心。如果是这样,您将不得不编写一个更灵活的正则表达式

如果你想处理数字而不是字符串,你可以使用它们


我在这里使用了
REGEX\u EXTRACT\u ALL
ALL,因为我假设您的数据每次都会有些相似。如果你想要一个更健壮的解决方案,你可以看看。您可以将数据映射到架构,然后将其返回的嵌套字段投影到列中


免责声明:在我这里,我不能测试这个正则表达式,但希望你能理解。而且,我很懒,用点代替特定的字符