Docs Menu
Docs Home
/
MongoDB Kafka Connector
/ /

스키마 적용

이 페이지의 내용

  • 개요
  • Default Schemas
  • 키 스키마
  • 값 스키마
  • 변환된 문서의 스키마
  • 스키마 지정
  • 스키마 추론

이 가이드에서는 MongoDB Kafka 소스 커넥터의 수신 문서에 스키마를 적용하는 방법을 배울 수 있습니다.

Kafka Connect에는 키 스키마값 스키마 두 가지 유형의 스키마가 있습니다. Kafka Connect는 값과 키가 모두 포함된 메시지를 Kafka로 전송합니다. 키 스키마는 Apache Kafka로 전송되는 메시지의 키에 대한 구조를 적용합니다. 값 스키마는 Apache Kafka로 전송되는 메시지의 값에 대한 구조를 시행합니다.

중요

용어에 대한 참고 사항

이 가이드에서는 단어 "키" 에 대하여 Apache Kafka 정의를 사용하며, 이는 BSON 정의와 약간 다릅니다. BSON에서 "키" 는 문서 내 필드의 고유 문자열 식별자입니다.

Apache Kafka에서 " 키"는 메시지를 쓸 주제 파티션을 결정하는 데 사용되는 메시지로 전송되는 바이트 배열입니다. Kafka 키는 다른 키 또는 null과 중복될 수 있습니다.

connector에서 스키마를 지정하는 것은 선택 사항이며 다음과 같은 스키마 조합을 지정할 수 있습니다.

  • 값 스키마만

  • 키 스키마만

  • 값 및 키 스키마 모두

  • No schemas

스키마의 이점

Kafka Connect에서 스키마를 사용할 때의 이점에 대한 논의를 보려면 Confluent의 이 문서를 참조하세요.

Apache Kafka Apache Avro 또는 JSON schema 와 같은 특정 데이터 형식을 사용하여 를 통해 데이터를 전송하려면 변환기 가이드 를 참조하세요.

Apache Kafka의 키와 값에 대해 자세히 알아보려면 공식 Apache Kafka 소개를 참조하세요.

connector는 두 가지 기본 스키마를 제공합니다:

변경 이벤트에 대해 자세히 알아보려면 변경 스트림에 대한 가이드를 참조하세요.

기본 스키마에 대해 자세히 알아보려면 여기 MongoDB Kafka Connector 소스 코드에서 기본 스키마를 참조하세요.

connector 는 변경 이벤트 문서의 _id 필드에 대한 기본 키 스키마를 제공합니다. 여기 이 가이드에 설명된변환 중 하나를 사용하여 변경 이벤트 문서에서 _id 필드를 제거하지 않는 한 기본 키 스키마를 사용해야 합니다.

이러한 변환 중 하나를 지정하고 수신 문서에 키 스키마를 사용하려면 이 가이드의 스키마 지정 섹션에 설명된 대로 키 스키마를 지정해야 합니다.

다음 옵션을 사용하여 기본 키 스키마를 활성화할 수 있습니다.

output.format.key=schema

connector 는 변경 이벤트 문서에 대한 기본값 스키마를 제공합니다. 이 가이드에 설명된 대로 변경 이벤트 문서를 변환하지 않는 한 기본값 스키마를 사용해야 합니다.

이러한 변환 중 하나를 지정하고 수신 문서에 값 스키마를 사용하려면 이 가이드의 변환된 문서에 대한 스키마 섹션에 설명된 메커니즘 중 하나를 사용해야 합니다.

다음 옵션을 사용하여 기본값 스키마를 활성화할 수 있습니다.

output.format.value=schema

소스 커넥터에서 변경 이벤트 문서를 변환할 수 있는 방법으로는 두 가지가 있습니다.

  • publish.full.document.only=true 옵션

  • 구조를 수정하는 변경 이벤트 문서의 집계 파이프라인

MongoDB 변경 이벤트 문서를 변환하는 경우 다음을 수행하여 스키마를 적용해야 합니다.

앞의 구성 옵션에 대해 자세히 알아보려면 변경 스트림 속성 페이지를 참조하세요.

Avro 스키마 구문을 사용하여 수신 문서에 대한 스키마를 지정할 수 있습니다. 문서 값 및 키에 대한 스키마를 지정하는 방법을 보려면 다음 탭을 클릭하세요.

output.format.key=schema
output.schema.key=<your avro schema>
output.format.value=schema
output.schema.value=<your avro schema>

스키마를 지정하는 방법을 보여주는 예시를 보려면 스키마 지정 사용 예시를 참조하세요.

Avro 스키마에 대해 자세히 알아보려면 데이터 형식 가이드를 참조하세요.

중요

변환기

Avro 바이너리 인코딩을 사용하여 Apache Kafka를 통해 데이터를 보내려면 Avro 변환기를 사용해야 합니다. 자세한 내용은 변환기 가이드를 참조하세요.

소스 connector 가 수신 문서에 대한 스키마를 추론하도록 할 수 있습니다. 이 옵션은 개발 및 구조가 자주 변경되지 않는 데이터 소스에는 적합하지만, 대부분의 프로덕션 배포 에서는 스키마를 지정하는 것이 좋습니다.

다음 옵션을 지정하여 커넥터가 스키마를 추론하도록 할 수 있습니다.

output.format.value=schema
output.schema.infer.value=true

소스 커넥터는 배열에 저장된 중첩 문서를 포함하는 수신 문서의 스키마를 추론할 수 있습니다. 커넥터 버전 1.9부터 스키마 추론는 다음 사례에서 설명하는 중첩 문서 간에 차이가 있는 경우 string 유형 할당을 기본값으로 설정하는 대신 필드에 적합한 데이터 유형을 수집합니다.

  • 필드가 한 문서에는 있지만 다른 문서에는 없습니다.

  • 필드가 한 문서에는 있지만 다른 문서에는 null입니다.

  • 필드가 한 문서에서는 모든 유형의 요소가 포함된 배열이지만 다른 문서에서는 다른 데이터 유형의 요소나 요소가 추가로 포함됩니다.

  • 필드가 한 문서에서는 모든 유형의 요소가 포함된 배열이지만 다른 문서에서는 빈 배열입니다.

중첩 문서 간에 필드 유형이 충돌하는 경우 커넥터는 충돌을 해당 필드의 스키마로 푸시하고 string 유형 할당을 기본값으로 설정합니다.

참고

키 스키마를 추론할 수 없음

connector 는 키 스키마 추론을 지원하지 않습니다. 키 스키마를 사용하여 MongoDB 변경 이벤트 문서를 변환하려면 이 가이드의 스키마 지정 섹션에 설명된 대로 키 스키마를 지정해야 합니다.

돌아가기

변경 스트림