expand 명령
expand 명령
expand 명령은 중첩 배열 필드가 있는 단일 문서를, 각각 배열의 한 요소를 포함하는 여러 문서로 변환해요. 원본 문서의 다른 모든 필드는 결과 문서 전체에 걸쳐 복제돼요. expand 명령은 지정된 배열 필드의 요소마다 한 행을 생성하고, 지정 필드가 빈 배열이면 확장된 필드를 null로 설정한 채 행을 유지해요.
출처: 문서
본문
구문(Syntax)
expand 명령은 다음과 같은 구문을 가져요.
expand <field> [as alias]
매개변수(Parameters)
expand 명령은 다음 매개변수를 지원해요.
| Parameter | Required/Optional | Description |
|---|---|---|
<field> |
Required | 확장할 필드. 중첩 배열만 지원돼요. |
<alias> |
Optional | 원본 필드 이름 대신 사용할 이름. |
예시: 수집된 서비스 목록을 개별 행으로 확장하기
다음 쿼리는 먼저 stats list()를 사용해 심각도 수준별 모든 서비스 이름을 배열로 수집한 다음, 각 배열 요소를 자체 행으로 확장해요. 집계된 보기에서 개별 행으로 돌아가야 할 때 유용해요.
source=otellogs
| where severityText = 'WARN'
| stats list(`resource.attributes.service.name`) as services by severityText
| expand services as service
| fields severityText, service
이 쿼리는 다음과 같은 결과를 반환해요.
| severityText | service |
|---|---|
| WARN | product-catalog |
| WARN | product-catalog |
| WARN | frontend-proxy |
| WARN | frontend-proxy |
제한 사항(Limitations)
expand 명령에는 다음과 같은 제한 사항이 있어요.
expand명령은 중첩 배열만 지원해요. 배열을 저장한 기본(primitive) 필드는 지원되지 않아요. 예를 들어 문자열 배열을 저장한 string 필드는 확장할 수 없어요.