분류자 API - AWS Glue

분류자 API

분류자 API는 AWS Glue 분류자 데이터 유형에 대해 설명하며 분류자를 생성, 삭제, 업데이트 및 나열하기 위한 API를 포함합니다.

데이터 유형

분류자 구조

분류자는 크롤링 작업 중에 시작됩니다. 분류자는 지정된 파일이 처리할 수 있는 형식인지 여부를 확인합니다. 처리할 수 있는 형식인 경우, 분류자는 해당 데이터 형식과 일치하는 StructType 객체의 형태로 스키마를 생성합니다.

AWS Glue가 제공하는 스탠더드 분류자를 사용하거나 자체 분류자를 작성하여 데이터 원본을 분류하고 분류자를 고려해 사용할 적절한 스키마를 지정합니다. 분류자는 grok 분류자이거나, XML 분류자이거나, JSON 분류자이거나, Classifier 객체의 필드 중 하나에 지정된 사용자 지정 CSV 분류자일 수 있습니다.

필드
  • GrokClassifierGrokClassifier 객체입니다.

    grok을 사용하는 분류자입니다.

  • XMLClassifierXMLClassifier 객체입니다.

    XML 콘텐츠의 분류자입니다.

  • JsonClassifierJsonClassifier 객체입니다.

    JSON 콘텐츠의 분류자입니다.

  • CsvClassifierCsvClassifier 객체입니다.

    쉼표로 구분된 값(CSV)의 분류자입니다.

GrokClassifier 구조

grok 패턴을 사용하는 분류자입니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • Classification필수(Required): UTF-8 문자열입니다.

    Twitter, JSON, Omniture 로그, 등과 같이 분류자가 일치하는 데이터 양식의 분류자입니다.

  • CreationTime – 타임스탬프입니다.

    이 분류자가 등록된 시간입니다.

  • LastUpdated – 타임스탬프입니다.

    이 분류자가 마지막으로 업데이트된 시간입니다.

  • Version - 숫자(정수)입니다.

    이 분류자 버전

  • GrokPattern필수(Required): A Logstash Grok string pattern과(와) 일치하는 1~2,048바이트 길이의 UTF-8 문자열입니다.

    이 분류자에 의해 grok 패턴이 데이터 스토어로 적용됩니다. 자세한 내용은 사용자 지정 분류자 작성에서 기본 설정 패턴을 참조하십시오.

  • CustomPatternsURI address multi-line string pattern과(와) 일치하는 16,000바이트 이하 길이의 UTF-8 문자열입니다.

    이 분류자가 정의한 조건부 사용자 지정 grok 패턴입니다. 자세한 내용은 사용자 지정 분류자 작성에서 사용자 지정 패턴을 참조하십시오.

XMLClassifier 구조

XML 내용의 분류자

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • Classification필수(Required): UTF-8 문자열입니다.

    분류자가 일치하는 데이터 양식의 분류자입니다.

  • CreationTime – 타임스탬프입니다.

    이 분류자가 등록된 시간입니다.

  • LastUpdated – 타임스탬프입니다.

    이 분류자가 마지막으로 업데이트된 시간입니다.

  • Version - 숫자(정수)입니다.

    이 분류자 버전

  • RowTag – UTF-8 문자열입니다.

    각 기록을 구문 분석된 XML 문서에 포함하는 요소를 설계하는 XML 태그입니다. 이 태그는 자기 닫기 요소(/>에 의해 닫힌 요소)를 식별할 수 없습니다. 요소가 닫는 태그를 통해 종료되는 한 구문 분석된 속성만 포함하는 빈 행 요소입니다 (예를 들어, <row item_a="A" item_b="B"></row>는 괜찮지만 <row item_a="A" item_b="B" />는 괜찮지 않습니다).

JsonClassifier 구조

JSON 내용의 분류자

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • CreationTime – 타임스탬프입니다.

    이 분류자가 등록된 시간입니다.

  • LastUpdated – 타임스탬프입니다.

    이 분류자가 마지막으로 업데이트된 시간입니다.

  • Version - 숫자(정수)입니다.

    이 분류자 버전

  • JsonPath필수(Required): UTF-8 문자열입니다.

    분류자가 분류할 JSON 데이터를 정의하는 JsonPath 문자열입니다. AWS Glue는 Writing JsonPath 사용자 정의 분류자 작성에 설명된 대로 JsonPath의 하위 집합을 지원합니다.

CsvClassifier 구조

사용자 지정 CSV 콘텐츠의 분류자입니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • CreationTime – 타임스탬프입니다.

    이 분류자가 등록된 시간입니다.

  • LastUpdated – 타임스탬프입니다.

    이 분류자가 마지막으로 업데이트된 시간입니다.

  • Version - 숫자(정수)입니다.

    이 분류자 버전

  • DelimiterCustom string pattern #10과(와) 일치하는 1~1바이트 길이의 UTF-8 문자열입니다.

    행의 열 입력 항목 각각을 구분하는 것을 나타내기 위한 사용자 지정 기호입니다.

  • QuoteSymbolCustom string pattern #10과(와) 일치하는 1~1바이트 길이의 UTF-8 문자열입니다.

    단일 열 값에 내용을 결합하는 것을 나타내기 위한 사용자 지정 기호입니다. 열 구분 기호와 달라야 합니다.

  • ContainsHeader – UTF-8 문자열입니다(유효 값: UNKNOWN | PRESENT | ABSENT).

    CSV 파일에 헤더가 포함되어 있는지 여부를 나타냅니다.

  • Header – UTF-8 문자열의 배열입니다.

    열 이름을 나타내는 문자열 목록입니다.

  • DisableValueTrimming – 부울입니다.

    열 값의 유형을 식별하기 전에 값을 트리밍하지 않도록 지정합니다. 기본값은 true입니다.

  • AllowSingleColumn – 부울입니다.

    오직 하나의 열만 포함하는 파일을 처리할 수 있도록 합니다.

  • CustomDatatypeConfigured – 부울입니다.

    사용자 지정 데이터 유형을 구성할 수 있습니다.

  • CustomDatatypes – UTF-8 문자열의 배열입니다.

    사용자 지정 데이터 유형 목록에는 “바이너리”, “부울”, “날짜”, “십진수”, “더블”, “플로트”, “INT”, “롱”, “쇼트”, “문자열”, “타임스탬프” 등이 포함됩니다.

CreateGrokClassifierRequest 구조

생성할 CreateClassifier를 위해 grok 분류자를 지정합니다.

필드
  • Classification필수(Required): UTF-8 문자열입니다.

    Twitter, JSON, Omniture Logs, Amazon CloudWatch Logs 등과 같이 분류자가 일치하는 데이터 양식의 분류자입니다.

  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    새로운 분류자의 이름입니다.

  • GrokPattern필수(Required): A Logstash Grok string pattern과(와) 일치하는 1~2,048바이트 길이의 UTF-8 문자열입니다.

    이 분류자가 사용하는 grok 패턴입니다.

  • CustomPatternsURI address multi-line string pattern과(와) 일치하는 16,000바이트 이하 길이의 UTF-8 문자열입니다.

    이 분류자가 사용하는 조건부 사용자 지정 grok 패턴입니다.

UpdateGrokClassifierRequest 구조

UpdateClassifier로 전달되면 업데이트될 grok 분류자를 지정합니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    GrokClassifier의 이름입니다.

  • Classification – UTF-8 문자열입니다.

    Twitter, JSON, Omniture Logs, Amazon CloudWatch Logs 등과 같이 분류자가 일치하는 데이터 양식의 분류자입니다.

  • GrokPatternA Logstash Grok string pattern과(와) 일치하는 1~2,048바이트 길이의 UTF-8 문자열입니다.

    이 분류자가 사용하는 grok 패턴입니다.

  • CustomPatternsURI address multi-line string pattern과(와) 일치하는 16,000바이트 이하 길이의 UTF-8 문자열입니다.

    이 분류자가 사용하는 조건부 사용자 지정 grok 패턴입니다.

CreateXMLClassifierRequest 구조

생성할 CreateClassifier를 위해 XML 분류자를 지정합니다.

필드
  • Classification필수(Required): UTF-8 문자열입니다.

    분류자가 일치하는 데이터 양식의 분류자입니다.

  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • RowTag – UTF-8 문자열입니다.

    각 기록을 구문 분석된 XML 문서에 포함하는 요소를 설계하는 XML 태그입니다. 이 태그는 자기 닫기 요소(/>에 의해 닫힌 요소)를 식별할 수 없습니다. 요소가 닫는 태그를 통해 종료되는 한 구문 분석된 속성만 포함하는 빈 행 요소입니다 (예를 들어, <row item_a="A" item_b="B"></row>는 괜찮지만 <row item_a="A" item_b="B" />는 괜찮지 않습니다).

UpdateXMLClassifierRequest 구조

업데이트될 XML 분류자를 지정합니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • Classification – UTF-8 문자열입니다.

    분류자가 일치하는 데이터 양식의 분류자입니다.

  • RowTag – UTF-8 문자열입니다.

    각 기록을 구문 분석된 XML 문서에 포함하는 요소를 설계하는 XML 태그입니다. 이 태그는 자기 닫기 요소(/>에 의해 닫힌 요소)를 식별할 수 없습니다. 요소가 닫는 태그를 통해 종료되는 한 구문 분석된 속성만 포함하는 빈 행 요소입니다 (예를 들어, <row item_a="A" item_b="B"></row>는 괜찮지만 <row item_a="A" item_b="B" />는 괜찮지 않습니다).

CreateJsonClassifierRequest 구조

생성할 CreateClassifier를 위해 JSON 분류자를 지정합니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • JsonPath필수(Required): UTF-8 문자열입니다.

    분류자가 분류할 JSON 데이터를 정의하는 JsonPath 문자열입니다. AWS Glue는 Writing JsonPath 사용자 정의 분류자 작성에 설명된 대로 JsonPath의 하위 집합을 지원합니다.

UpdateJsonClassifierRequest 구조

업데이트될 JSON 분류자를 지정합니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • JsonPath – UTF-8 문자열입니다.

    분류자가 분류할 JSON 데이터를 정의하는 JsonPath 문자열입니다. AWS Glue는 Writing JsonPath 사용자 정의 분류자 작성에 설명된 대로 JsonPath의 하위 집합을 지원합니다.

CreateCsvClassifierRequest 구조

생성할 CreateClassifier를 위해 사용자 지정 CSV 분류자를 지정합니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • DelimiterCustom string pattern #10과(와) 일치하는 1~1바이트 길이의 UTF-8 문자열입니다.

    행의 열 입력 항목 각각을 구분하는 것을 나타내기 위한 사용자 지정 기호입니다.

  • QuoteSymbolCustom string pattern #10과(와) 일치하는 1~1바이트 길이의 UTF-8 문자열입니다.

    단일 열 값에 내용을 결합하는 것을 나타내기 위한 사용자 지정 기호입니다. 열 구분 기호와 달라야 합니다.

  • ContainsHeader – UTF-8 문자열입니다(유효 값: UNKNOWN | PRESENT | ABSENT).

    CSV 파일에 헤더가 포함되어 있는지 여부를 나타냅니다.

  • Header – UTF-8 문자열의 배열입니다.

    열 이름을 나타내는 문자열 목록입니다.

  • DisableValueTrimming – 부울입니다.

    열 값의 유형을 식별하기 전에 값을 트리밍하지 않도록 지정합니다. 기본값은 true입니다.

  • AllowSingleColumn – 부울입니다.

    오직 하나의 열만 포함하는 파일을 처리할 수 있도록 합니다.

  • CustomDatatypeConfigured – 부울입니다.

    사용자 지정 데이터 유형을 구성할 수 있습니다.

  • CustomDatatypes – UTF-8 문자열의 배열입니다.

    지원되는 사용자 지정 데이터 유형 목록을 만듭니다.

UpdateCsvClassifierRequest 구조

업데이트될 사용자 지정 CSV 분류자를 지정합니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    분류자의 이름입니다.

  • DelimiterCustom string pattern #10과(와) 일치하는 1~1바이트 길이의 UTF-8 문자열입니다.

    행의 열 입력 항목 각각을 구분하는 것을 나타내기 위한 사용자 지정 기호입니다.

  • QuoteSymbolCustom string pattern #10과(와) 일치하는 1~1바이트 길이의 UTF-8 문자열입니다.

    단일 열 값에 내용을 결합하는 것을 나타내기 위한 사용자 지정 기호입니다. 열 구분 기호와 달라야 합니다.

  • ContainsHeader – UTF-8 문자열입니다(유효 값: UNKNOWN | PRESENT | ABSENT).

    CSV 파일에 헤더가 포함되어 있는지 여부를 나타냅니다.

  • Header – UTF-8 문자열의 배열입니다.

    열 이름을 나타내는 문자열 목록입니다.

  • DisableValueTrimming – 부울입니다.

    열 값의 유형을 식별하기 전에 값을 트리밍하지 않도록 지정합니다. 기본값은 true입니다.

  • AllowSingleColumn – 부울입니다.

    오직 하나의 열만 포함하는 파일을 처리할 수 있도록 합니다.

  • CustomDatatypeConfigured – 부울입니다.

    사용자 지정 데이터 유형의 구성을 지정합니다.

  • CustomDatatypes – UTF-8 문자열의 배열입니다.

    지원되는 사용자 지정 데이터 유형 목록을 지정합니다.

작업

CreateClassifier 작업(Python: create_classifier)

사용자 계정에 분류자를 만듭니다. 이 분류자는 어떤 요청 필드가 존재하는지에 따라 GrokClassifier, XMLClassifier, JsonClassifier 또는 CsvClassifier일 수 있습니다.

요청
응답
  • 무응답 파라미터.

오류
  • AlreadyExistsException

  • InvalidInputException

  • OperationTimeoutException

DeleteClassifier 작업(Python: delete_classifier)

데이터 카탈로그에서 분류자를 제거합니다.

요청
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    제거할 분류자의 이름입니다.

응답
  • 무응답 파라미터.

오류
  • EntityNotFoundException

  • OperationTimeoutException

GetClassifier 작업(Python: get_classifier)

이름에 따라 분류자를 검색합니다.

요청
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    검색할 분류자의 이름입니다.

응답
  • Classifier분류자 객체입니다.

    요청된 분류자

오류
  • EntityNotFoundException

  • OperationTimeoutException

GetClassifiers 작업(Python: get_classifiers)

데이터 카탈로그에서 분류자 객체를 열거합니다.

요청
  • MaxResults – 1~1,000의 숫자(정수)입니다.

    반환할 목록의 크기(선택 사항)입니다.

  • NextToken – UTF-8 문자열입니다.

    연속 토큰(선택 사항).

응답
  • Classifiers분류자 객체의 배열입니다.

    분류자 객체의 요청한 목록입니다.

  • NextToken – UTF-8 문자열입니다.

    연속 토큰

오류
  • OperationTimeoutException

UpdateClassifier 작업(Python: update_classifier)

기존 분류자(어떤 필드가 존재하는지에 따라 GrokClassifier, XMLClassifier, JsonClassifier 또는 CsvClassifier 분류자)를 수정합니다.

요청
응답
  • 무응답 파라미터.

오류
  • InvalidInputException

  • VersionMismatchException

  • EntityNotFoundException

  • OperationTimeoutException