본문 바로가기
WIKI 기술 지식 베이스

Date processor

원문 보기 위키 갱신

출처: 문서

본문

이 문서는 OpenSearch 인제스트 파이프라인에서 date 프로세서를 사용하는 방법을 설명해요. 대규모 또는 복잡한 데이터셋을 다루는 경우 OpenSearch 클러스터에서 실행되는 Data Prepper date 프로세서를 사용하는 것을 고려해 보세요. {: .note}

날짜 프로세서

date 프로세서는 문서 필드에서 날짜를 파싱하고 파싱된 데이터를 새 필드에 추가하는 데 사용돼요. 기본적으로 파싱된 데이터는 @timestamp 필드에 저장돼요.

구문 예제

다음은 date 프로세서의 구문이에요.

{
  "date": {
    "field": "date_field",
    "formats": ["yyyy-MM-dd'T'HH:mm:ss.SSSZZ"]
  }
}

{% include copy.html %}

구성 파라미터

다음 표는 date 프로세서의 필수 및 선택 파라미터를 보여줘요.

파라미터 필수/선택 설명
field 필수 변환할 데이터가 포함된 필드의 이름. template snippets을 지원해요.
formats 필수 예상되는 날짜 형식의 배열. date format 또는 ISO8601, UNIX, UNIX_MS, TAI64N 중 하나일 수 있어요.
description 선택 프로세서에 대한 간단한 설명.
if 선택 프로세서 실행 조건.
ignore_failure 선택 오류가 발생해도 프로세서가 계속 실행될지 여부를 지정해요. true로 설정하면 실패를 무시해요. 기본값은 false예요.
locale 선택 날짜 파싱 시 사용할 로케일. 기본값은 ENGLISH예요. template snippets을 지원해요.
on_failure 선택 프로세서 실패 시 실행할 프로세서 목록.
output_format 선택 대상 필드에 사용할 date format. 기본값은 yyyy-MM-dd'T'HH:mm:ss.SSSZZ예요.
tag 선택 프로세서의 식별 태그. 동일한 유형의 프로세서를 구분하기 위해 디버깅에 유용해요.
target_field 선택 파싱된 데이터를 저장할 필드 이름. 기본 대상 필드는 @timestamp예요.
timezone 선택 날짜 파싱 시 사용할 시간대. 기본값은 UTC예요. template snippets을 지원해요.

프로세서 사용하기

다음 단계에 따라 파이프라인에서 프로세서를 사용해 보세요.

1단계: 파이프라인 생성

다음 쿼리는 date-output-format이라는 파이프라인을 생성하며, date 프로세서를 사용하여 유럽 날짜 형식을 미국 날짜 형식으로 변환하고 원하는 output_format으로 새 필드 date_us를 추가해요.

PUT /_ingest/pipeline/date-output-format
{
  "description": "Pipeline that converts European date format to US date format",
  "processors": [
    {
      "date": {
        "field" : "date_european",
        "formats" : ["dd/MM/yyyy", "UNIX"],
        "target_field": "date_us",
        "output_format": "MM/dd/yyy",
        "timezone" : "UTC"
      }
    }
  ]
}

{% include copy-curl.html %}

2단계(선택): 파이프라인 테스트

문서를 인제스트하기 전에 파이프라인을 테스트하는 것이 좋아요. {: .tip}

파이프라인을 테스트하려면 다음 쿼리를 실행해요.

POST _ingest/pipeline/date-output-format/_simulate
{
  "docs": [
    {
      "_index": "testindex1",
      "_id": "1",
      "_source": {
        "date_us": "06/30/2023",
        "date_european": "30/06/2023"
      }
    }
  ]
}

{% include copy-curl.html %}

응답

다음 예제 응답은 파이프라인이 예상대로 작동하고 있음을 확인해 줘요.

{
  "docs": [
    {
      "doc": {
        "_index": "testindex1",
        "_id": "1",
        "_source": {
          "date_us": "06/30/2023",
          "date_european": "30/06/2023"
        },
        "_ingest": {
          "timestamp": "2023-08-22T17:08:46.275195504Z"
        }
      }
    }
  ]
}

3단계: 문서 인제스트

다음 쿼리는 testindex1 인덱스에 문서를 인제스트해요.

PUT testindex1/_doc/1?pipeline=date-output-format
{
  "date_european": "30/06/2023"
}

{% include copy-curl.html %}

4단계(선택): 문서 검색

문서를 검색하려면 다음 쿼리를 실행해요.

GET testindex1/_doc/1

{% include copy-curl.html %}

더 알아보기 (Learn more)