인프런 커뮤니티 질문&답변

가비님의 프로필 이미지
가비

작성한 질문수

로그프레소 엔터프라이즈 - 데이터 수집과 파싱

value 값 추가 파싱

해결된 질문

작성

·

235

1

json 형태의 로그를 수집 후 

table a | parse json_parser(생성) 로 파싱을 하면 Key value가 정상적으로 파싱이 되는데 그 이후에 value들을 , 기준으로 짤라서 사용할 수 있을까요?? 이런 형태입니다. key(b): value(c,d,e)

 

답변 1

0

로그프레소님의 프로필 이미지
로그프레소
지식공유자

안녕하세요. 파싱 이후에 값을 재가공은 데이터 처리하는 데 있어 다양한 방식으로 빈번한 요구사항이 있습니다. 

일단 파싱을하면 b라는 컬럼에 c,d,e라는 텍스트로 값이 들어가게 될 것인데요.

이 값을 split이라는 함수로 배열로 만들 수 있습니다. 그 이후 배열의 값을 문자열 함수를 사용하여 원하는 대로 가공할 수 있습니다.

1. 값을 하나씩 별도의 필드로 추출하는 방식

- 이는 valueof 라는 함수를 사용하여 배열의 값을 필드로 추출하는 방식입니다.

json "{ 'b' : 'c,d,e'}" | eval b2 = split(b, ","), b_c = valueof(b2, 0), b_d = valueof(b2, 2), b_e = valueof(b2, 2)

2. 배열의 값을 하나씩 행으로 생성하는 방식

- 이는 explode라는 쿼리를 사용하여 c, d, e를 각각의 행으로 만드는 방식입니다. 

json "{ 'b' : 'c,d,e'}" | eval b2 = split(b, ",") | explode b2

 

함수를 가지고 배열 혹은 문자열 자체를 재가공 하실 수 있습니다. 

 

 

가비님의 프로필 이미지
가비

작성한 질문수

질문하기