删除/忽略json

时间:2016-09-06 05:10:42

标签: json linux bash hive apache-pig

我想删除/忽略以下json记录中的元素:

{" _scroll_id":" =="" TIMED_OUT":假," _shards" {&# 34;总":5,"成功":5,"失败":0},"命中" {"总" :6908915," MAX_SCORE":空,"命中":[ {" _index":" abc_v1"&#34 ; _type":" composite_request_response_v1"" _id":" 123"" _score":1.0," _source&# 34;:{"响应" {" testResults" {" docsisResults" {"装置":[{" upstreamSection& #34; {"上行信":[]}," fluxSection" {" fluxInfo":[{}]}}],"事件& #34;:[]}," mocaResults" {"状态":[]}}}}"排序":[NULL,1.0]} ]}}

我有以上格式的记录。我希望删除记录中突出显示的部分。有人可以指导我如何实现这一目标。无论如何我可以用hive / pig / linux / python实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

Hive中有JSON SerDe,请看:https://cwiki.apache.org/confluence/display/Hive/Json+SerDe  因此,您只能在表定义中定义所需的列,将文件放在表位置,然后仅选择已定义的列。或者,您可以在使用Java + Jackson加载文件之前对文件进行预处理/转换(将Java对象序列化或映射到JSON,反之亦然),这将为您提供最大的灵活性,因为这不像使用JSON SerDe那么简单。