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

CSV processor

원문 보기 위키 갱신

출처: 문서

본문

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

CSV 프로세서

csv 프로세서는 CSV를 파싱하여 문서의 개별 필드로 저장하는 데 사용돼요. 프로세서는 빈 필드를 무시해요.

구문

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

{
  "csv": {
    "field": "field_name",
    "target_fields": ["field1, field2, ..."]
  }
}

{% include copy.html %}

구성 매개변수

다음 표는 csv 프로세서의 필수 및 선택적 매개변수를 보여줘요.

매개변수 필수/선택 설명
field 필수 변환할 데이터가 포함된 필드의 이름이에요. 템플릿 스니펫을 지원해요.
target_fields 필수 파싱된 데이터를 저장할 필드의 이름이에요.
description 선택 프로세서에 대한 간단한 설명이에요.
empty_value 선택 필수가 아니거나 적용되지 않는 선택적 매개변수를 나타내요.
if 선택 프로세서 실행 조건이에요.
ignore_failure 선택 프로세서가 오류를 만나도 계속 실행할지 여부를 지정해요. true로 설정하면 실패를 무시해요. 기본값은 false예요.
ignore_missing 선택 프로세서가 지정된 필드를 포함하지 않은 문서를 무시할지 여부를 지정해요. true로 설정하면 필드가 없거나 null인 경우 문서를 수정하지 않아요. 기본값은 false예요.
on_failure 선택 프로세서가 실패할 경우 실행할 프로세서 목록이에요.
quote 선택 CSV 데이터에서 필드를 인용하는 데 사용되는 문자예요. 기본값은 "예요.
separator 선택 CSV 데이터에서 필드를 구분하는 데 사용되는 구분자예요. 기본값은 ,예요.
tag 선택 프로세서의 식별 태그예요. 동일한 유형의 프로세서를 구분하기 위해 디버깅에 유용해요.
trim 선택 true로 설정하면 프로세서가 텍스트의 앞뒤 공백을 제거해요. 기본값은 false예요.

프로세서 사용하기

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

1단계: 파이프라인 생성하기

다음 쿼리는 resource_usage를 cpu_usage, memory_usage, disk_usage라는 세 개의 새 필드로 분할하는 csv-processor라는 파이프라인을 생성해요.

PUT _ingest/pipeline/csv-processor
{
  "description": "Split resource usage into individual fields",
  "processors": [
    {
      "csv": {
        "field": "resource_usage",
        "target_fields": ["cpu_usage", "memory_usage", "disk_usage"],
        "separator": ","
      }
    }
  ]
}

{% include copy-curl.html %}

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

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

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

POST _ingest/pipeline/csv-processor/_simulate
{
  "docs": [
    {
      "_index": "testindex1",
      "_id": "1",
      "_source": {
        "resource_usage": "25,4096,10",
        "memory_usage": "4096",
        "disk_usage": "10",
        "cpu_usage": "25"
      }
    }
  ]
}

{% include copy-curl.html %}

응답

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

{
  "docs": [
    {
      "doc": {
        "_index": "testindex1",
        "_id": "1",
        "_source": {
          "memory_usage": "4096",
          "disk_usage": "10",
          "resource_usage": "25,4096,10",
          "cpu_usage": "25"
        },
        "_ingest": {
          "timestamp": "2023-08-22T16:40:45.024796379Z"
        }
      }
    }
  ]
}

3단계: 문서 인제스트하기

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

PUT testindex1/_doc/1?pipeline=csv-processor
{
  "resource_usage": "25,4096,10"
}

{% include copy-curl.html %}

4단계(선택 사항): 문서 검색하기

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

GET testindex1/_doc/1

{% include copy-curl.html %}

더 알아보기 (Learn more)