NOMV 명령어
NOMV 명령어
nomv 명령어는 모든 배열 요소를 개행 문자(\n)로 결합해 다중값(배열) 필드를 단일값 문자열 필드로 변환해요.
출처: 문서
본문
nomv 명령어는 모든 배열 요소를 개행 문자(\n)로 결합해 다중값(배열) 필드를 단일값 문자열 필드로 변환해요. 이 작업은 제자리(in-place)에서 수행되어 원본 필드를 결합된 문자열 표현으로 대체해요.
필드는 배열 타입이어야 해요. 스칼라 필드의 경우 array() 함수를 사용해 값을 먼저 배열로 변환해요.
구문 (Syntax)
nomv 명령어의 구문은 다음과 같아요:
nomv <field>
매개변수 (Parameters)
nomv 명령어는 다음 매개변수를 지원해요.
| 매개변수 | 필수/선택 | 설명 |
|---|---|---|
<field> |
필수 | 다중값 내용을 단일값 문자열로 변환할 필드의 이름이에요. |
예제: 수집된 목록을 단일값 문자열로 변환하기
다음 쿼리는 모든 서비스 이름을 배열로 수집해요. 그런 다음 오류를 보고한 서비스만 포함하도록 필터링하고 배열을 문자열로 변환해요:
source=otellogs
| where severityText = 'ERROR'
| stats list(`resource.attributes.service.name`) as affected_services by severityText
| nomv affected_services
| fields severityText, affected_services
쿼리는 다음과 같은 결과를 반환해요:
| severityText | affected_services |
|---|---|
| ERROR | payment |
| checkout | |
| payment | |
| frontend-proxy | |
| recommendation | |
| product-catalog | |
| checkout |
제한 사항 (Limitations)
nomv 명령어는 다음과 같은 제한 사항이 있어요:
nomv명령어는 Apache Calcite 쿼리 엔진이 활성화된 경우에만 사용할 수 있어요.- 개행 구분자(
\n)는 고정되어 있으며 사용자 지정할 수 없어요. 사용자 지정 구분자를 사용하려면 eval 표현식에서mvjoin함수를 직접 사용해요. - 배열 내의 NULL 값은 자동으로 필터링되어 출력에 나타나지 않아요.
관련 명령어 (Related commands)
mvcombine– 여러 행을 다중값 필드가 있는 단일 행으로 결합해요.mvexpand– 다중값 필드를 여러 행으로 확장해요.