Regex 在Pig中解析JSON格式的字符串

Regex 在Pig中解析JSON格式的字符串,regex,json,apache-pig,Regex,Json,Apache Pig,我正在使用pig分析从Cassandra加载的数据。我得到的其中一列是一个字符串,其中包含JSON格式的产品ID和产品信息: 第|……|行项目|。。。 1 | ... | “[{”id:“1”,“无用的信息”:“blah”},{”id:“2”,“无用的信息”:“bleh”}]”。。。 2 | ... | “[{”id:“3”}]”|。。。 . | . | .

我正在使用pig分析从Cassandra加载的数据。我得到的其中一列是一个字符串,其中包含JSON格式的产品ID和产品信息:

第|……|行项目|。。。 1 | ... | “[{”id:“1”,“无用的信息”:“blah”},{”id:“2”,“无用的信息”:“bleh”}]”。。。 2 | ... | “[{”id:“3”}]”|。。。 . | . | . | . 请注意,一些行在字符串中会有额外的内容,而其他行只有id

无论如何,我需要做的是解析每个“items”字符串并生成id号:

第| id |……|行 1 | 1 | ... | 1 | 2 | ... | 2 | 3 | ... | 等 据我所知,没有用于Pig的JSON解析器,只有加载和存储函数(如elephantbird)。有没有可能用REGEX_EXTRACT之类的东西来做我想做的事情,或者我必须编写自己的UDF(或者有更好、更漂亮、更聪明的方法)

提前感谢您的帮助


PS我使用的是Pig 0.93,它解析JSON字符串并在Pig中输出一个映射。这与他们的不同,后者在加载文件时解析JSON。

大象鸟有,它解析JSON字符串并在Pig中输出映射。这与他们的不同,他们在加载文件时解析JSON。

可能的dup是的,我看了那篇博文-他们正在使用加载JSON格式的数据。我的数据实际上是所有字符串(并且已经加载到Pig中),只有一部分具有类似JSON的格式(需要解析)可能的dup。是的,我看了那篇博客文章——他们正在使用它加载JSON格式的数据。我的数据实际上是所有字符串(并且已经加载到Pig中),并且只有一部分具有类似JSON的格式(需要解析),感谢您指出这一点。尽管我们需要做一些不同的事情,但是基于JsonStringToMap编写一个UDF是相对简单的,尽管只是java的基本知识。尽管我们需要做一些不同的事情,但是基于JsonStringToMap编写一个UDF是相对简单的,尽管它只是java的基本知识。 row | ... | items | ... 1 | ... | "[{"id":"1", "useless_info":"blah"}, {"id":"2", "useless_info":"bleh"}]" | ... 2 | ... | "[{"id":"3"}]" | ... . | . | . | . row | id | ... | 1 | 1 | ... | 1 | 2 | ... | 2 | 3 | ... | etc