2016-09-06 3 views
-2

Я хочу удалить/игнорировать элементы в следующей записи JSon:Удаление/игнорировать нежелательные элементы в JSON

{ "_scroll_id": "==", "timed_out" ложь "_ Осколки": { «total»: 5, «success»: 5, «failed»: 0}, «hits»: {«total»: 6908915, «max_score»: null, «hits»: [ {"_index": "abc_v1" , "_ типа": "composite_request_response_v1", "_ идентификатор": "123", "_ оценка": 1.0, "_ источник": { "ответ": { "TestResults": { "docsisResults": { "устройства": [{» upstreamSection ": {" выше по потоку ": []}," fluxSection ": {" fluxInfo ": [{}]}}]," события ": []}," mocaResults ": {" статусы ": []}} }}, "sort": [null, 1.0]} ]}},

У меня есть reco rds в вышеуказанном формате. Я хочу удалить выделенную часть записи. Может ли кто-нибудь помочь мне в том, как я могу это сделать. В любом случае я могу добиться этого, используя hive/pig/linux/python?

ответ

0

Существует JSON SerDe in Hive, см. Это: https://cwiki.apache.org/confluence/display/Hive/Json+SerDe Таким образом, вы можете определить только те столбцы, которые вам нужны в определении таблицы, поместите ваш файл в расположение таблицы и затем выберите только определенные столбцы. В качестве альтернативы вы можете предварительно обработать/преобразовать свои файлы перед их загрузкой с помощью Java + Jackson (библиотека для сериализации или сопоставления объектов Java с JSON и наоборот), это даст вам максимальную гибкость, поскольку это не так просто, как использование JSON SerDe.

Смежные вопросы