2016-10-14 3 views
0

저는 스트리밍과 스칼라를 촉발하기에 꽤 새로 왔습니다. 나는 JSON 데이터와 카프카 topic.I에서 들어오는 다른 임의의 로그 데이터를 내 JSON 데이터는 다음과 같습니다이Kafka 주제에서 하이브로 중첩 된 Json 메시지를 구문 분석하는 방법

val messages = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topicsSet).map(_._2).filter (x => x.matches("^[{].*")) 

처럼 그냥 JSON 데이터를 필터링 할 수 있었다있다.

{"time":"125573","randomcol":"abchdre","address":{"city":"somecity","zip":"123456"}} 

임 json 데이터를 구문 분석하여 하이브 테이블에 넣으려고합니다. 누군가 나를 올바른 방향으로 가리키게 할 수 있습니까? 감사합니다.

+0

무엇이 질문입니까? – Ashalynd

+0

임은 json 데이터를 구문 분석하고 하이브 테이블에 넣으려고합니다. –

답변

0

여러 가지 방법이 있습니다.

  1. 필요한 열이 있고이 데이터 위치를 가리키는 외부 하이브 테이블을 만듭니다.
  2. 테이블을 만들 때 기본 JSON serde를 사용하고 get_json_object 하이브 함수를 사용하여이 원시 데이터를 최종 테이블에로드 할 수 있습니다. 기능 정보

또는

당신은 브로 serde을 시도하고 하이브 테이블을 만들려면 JSON 메시지에 따라, 브로 스키마를 말할 수에 대한 this을 참조하십시오. avro serde 예 의 경우 this을 참조하십시오.

희망 하시겠습니까?

+0

만약 내가 스파크에서 파싱을하려고한다면 ... 나는 무엇을해야합니까? –

관련 문제