MVCOMBINE 명령어
MVCOMBINE 명령어
mvcombine 명령어는 지정된 대상 필드를 제외한 모든 필드에서 동일한 행을 그룹화하고 해당 대상 필드의 값을 다중값(배열) 필드로 결합해요.
출처: 문서
본문
mvcombine 명령어는 지정된 대상 필드를 제외한 모든 필드에서 동일한 행을 그룹화하고 해당 대상 필드의 값을 다중값(배열) 필드로 결합해요.
행은 대상 필드를 제외한 파이프라인의 현재 모든 필드로 그룹화돼요. 대상 필드가 누락되었거나 null인 행은 결합된 다중값 출력에서 제외돼요.
구문 (Syntax)
mvcombine 명령어의 구문은 다음과 같아요:
mvcombine <field>
매개변수 (Parameters)
mvcombine 명령어는 다음 매개변수를 지원해요.
| 매개변수 | 필수/선택 | 설명 |
|---|---|---|
<field> |
필수 | 다중값 필드로 결합할 값이 담긴 필드의 이름이에요. |
예제 1: 기본 mvcombine 사용하기
다음 쿼리는 행을 단일 행으로 축소하고 packets_str을 다중값 필드로 결합해요:
source=mvcombine_data
| where ip='10.0.0.1' and bytes=100 and tags='t1'
| fields ip, bytes, tags, packets_str
| mvcombine packets_str
쿼리는 다음과 같은 결과를 반환해요:
| ip | bytes | tags | packets_str |
|---|---|---|---|
| 10.0.0.1 | 100 | t1 | [10,20,30] |
예제 2: 여러 그룹 결합하기
다음 쿼리는 그룹 키당 하나의 출력 행을 생성해요:
source=mvcombine_data
| where bytes=700 and tags='t7'
| fields ip, bytes, tags, packets_str
| sort ip, packets_str
| mvcombine packets_str
| sort ip
쿼리는 다음과 같은 결과를 반환해요:
| ip | bytes | tags | packets_str |
|---|---|---|---|
| 10.0.0.7 | 700 | t7 | [1,2] |
| 10.0.0.8 | 700 | t7 | [9] |
예제 3: 일부 행에서 대상 필드 누락
대상 필드가 누락된 행은 결합된 출력에 값을 기여하지 않아요:
source=mvcombine_data
| where ip='10.0.0.3' and bytes=300 and tags='t3'
| fields ip, bytes, tags, packets_str
| mvcombine packets_str
쿼리는 다음과 같은 결과를 반환해요:
| ip | bytes | tags | packets_str |
|---|---|---|---|
| 10.0.0.3 | 300 | t3 | [5] |
예제 4: 없는 필드
다음 쿼리는 현재 스키마에 존재하지 않는 필드의 값을 결합하려고 시도해요:
source=mvcombine_data
| mvcombine does_not_exist
쿼리는 다음과 같은 오류를 반환해요:
{'reason': 'Invalid Query', 'details': 'Field [does_not_exist] not found.', 'type': 'IllegalArgumentException'}
관련 명령어 (Related commands)
nomv– 다중값 필드를 단일값 문자열로 변환해요.mvexpand– 다중값 필드를 여러 행으로 확장해요.