我有tsv日志文件,其中一列由json字符串填充。
我想用一个pig脚本中的jsonloader来解析该列。我看到了许多示例,其中jsonload用于每一行都只是一个json字符串的情况。我想跳过其他专栏,但我不知道怎么做。
文件如下所示:
foo bar {"version":1; "type":"an event"; "count": 1}
foo bar {"version":1; "type":"another event"; "count": 1}
我该怎么做?
2条答案
按热度按时间noj0wjuj1#
查看elephantbird(twitter的所有hadoop库)-他们有一个名为jsonstringtomap的udf,它完全满足您的需要(获取一个字符串并将其转换为一个Map)。
ggazkfy82#
您正在查找elephant bird中提供的jsonstringtomap udf:https://github.com/kevinweil/elephant-bird/search?q=jsonstringtomap&ref=cmdform
示例文件:
Pig脚本:
预处理(json作为chararray/string):
后处理(json作为Map):
两天前也提出了同样的问题:如何在pig中解码来自列的json?