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 %}