2013-09-04 1 views
0

Hive 데모 작업을하고 있으며 JSON 메시지가 들어있는 파일에 대해 집계 쿼리를 수행하고 싶습니다. 시작 부분에 log4j 스타일 메시지가 앞에 있습니다. 각 로그 라인 :HIVE : JSON에서 SLF4J 헤더를 구문 분석/무시하는 방법 로그 메시지

20:49:07.962 [main] INFO com.example.application - {"DocId":"ABC","User":{"Id":1236,"Username":"larry1234","Name":"Larry","ShippingAddress":{"Address1":"789 Main St.","Address2":"","City":"Durham","State":"NC","PostalCode":"27713"},"Orders":[{"ItemId":1111,"OrderDate":"11/11/2012"},{"ItemId":2222,"OrderDate":"12/12/2012"}]}} 

나는 많은 양의 그러한 레코드를 가지고 있으며, 하이브 데모 작업을하고 있습니다. 나는 Hive-JSON-Serde에 대해 알고 있습니다. 하지만 하이브에게 log4j 프리앰블을 무시하도록 어떻게 말합니까?

답변

0

get_json_object 함수를 사용하여 레코드에서 json 데이터를 추출하고 위에 나온대로 빌드 할 수 있습니다. 이 블로그는 도움이 될 수 있습니다. http://thornydev.blogspot.in/2013/07/querying-json-records-via-hive.html

+0

문제는 "20 : 49 : 07.962 [main] INFO com.example.application -"을 구문 분석 할 수 없습니다. 또한 get_json_object는 요청한 각 필드에 대해 json 본문을 구문 분석해야하기 때문에 중단됩니다. 1 만 필요할 때 json 20x 시간을 구문 분석 할 수 있습니다. –

관련 문제