RENAME 명령어

RENAME 명령어

rename 명령어는 검색 결과에서 하나 이상의 필드 이름을 바꿔요.

출처: 문서

본문

rename 명령어는 검색 결과에서 하나 이상의 필드 이름을 바꿔요.

rename 명령어는 존재하지 않는 필드를 다음과 같이 처리해요:

rename 명령어는 쿼리 도메인 특화 언어(DSL, query domain-specific language)로 다시 작성되지 않아요. 코디네이팅(coordinating) 노드에서만 실행돼요.

구문 (Syntax)

rename 명령어의 구문은 다음과 같아요:

rename <source-field> AS <target-field>[, <source-field> AS <target-field>]...

매개변수 (Parameters)

rename 명령어는 다음 매개변수를 지원해요.

매개변수 필수/선택 설명
<source-field> 필수 이름을 바꾸려는 필드의 이름이에요. *를 사용한 와일드카드 패턴을 지원해요.
<target-field> 필수 바꿀 이름이에요. 소스와 동일한 수의 와일드카드를 포함해야 해요.

예제 1: 필드 이름 바꾸기

다음 쿼리는 하나의 필드 이름을 바꿔요:

source=otellogs
| rename severityText as severity
| fields severity
| head 4

쿼리는 다음과 같은 결과를 반환해요:

severity
INFO
INFO
WARN
ERROR

예제 2: 여러 필드 이름 바꾸기

다음 쿼리는 여러 필드의 이름을 바꿔요:

source=otellogs
| rename severityText as severity, `resource.attributes.service.name` as service
| fields severity, service
| head 4

쿼리는 다음과 같은 결과를 반환해요:

severity service
INFO frontend
INFO cart
WARN product-catalog
ERROR payment

예제 3: 와일드카드를 사용해 필드 이름 바꾸기

다음 쿼리는 와일드카드 패턴을 사용해 여러 필드의 이름을 바꿔요. severityText와 severityNumber 모두 severity*와 일치하므로 sev*로 이름이 바뀌어요:

source=otellogs
| rename severity* as sev*
| fields sevText, sevNumber
| head 4

쿼리는 다음과 같은 결과를 반환해요:

sevText sevNumber
INFO 9
INFO 9
WARN 13
ERROR 17

예제 4: 여러 와일드카드 패턴을 사용해 필드 이름 바꾸기

다음 쿼리는 여러 와일드카드 패턴을 사용해 여러 필드의 이름을 바꿔요:

source=otellogs
| rename severity* as sev*, `@*` as otel_*
| fields sevText, sevNumber, otel_timestamp
| head 4

쿼리는 다음과 같은 결과를 반환해요:

sevText sevNumber otel_timestamp
INFO 9 2024-02-01 09:10:00
INFO 9 2024-02-01 09:11:00
WARN 13 2024-02-01 09:12:00
ERROR 17 2024-02-01 09:13:00

예제 5: 기존 필드를 다른 기존 필드로 이름 바꾸기

다음 쿼리는 기존 필드를 다른 기존 필드로 이름을 바꿔요. 대상 필드는 제거되고 소스 필드가 대상 이름으로 바뀌어요:

source=otellogs
| rename severityText as body
| fields body
| head 4

쿼리는 다음과 같은 결과를 반환해요:

body
INFO
INFO
WARN
ERROR

제한 사항 (Limitations)

rename 명령어는 다음과 같은 제한 사항이 있어요:

  • 필드 이름의 문자별 애스터리스크(*)는 와일드카드 일치에 사용되므로 대체할 수 없어요.

더 알아보기 (Learn more)