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 값은 자동으로 필터링되어 출력에 나타나지 않아요.
  • mvcombine – 여러 행을 다중값 필드가 있는 단일 행으로 결합해요.
  • mvexpand – 다중값 필드를 여러 행으로 확장해요.

더 알아보기 (Learn more)