Я использую свинью для анализа данных, загруженных из Cassandra. Один из столбцов, которые я получаю, представляет собой строку с идентификаторами продуктов и информацией о продукте в формате JSON:
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
Насколько я понимаю, парсеров JSON для Pig не существует, только функции загрузки и хранения (например, слоновая птица). Можно ли делать то, что я хочу, с чем-то вроде REGEX_EXTRACT, или мне придется написать свою собственную UDF (или есть лучший, красивый и умный способ)?
Заранее спасибо за вашу помощь!
PS Я использую Pig 0.93