Docs Menu
Docs Home
/
MongoDB Kafka Connector
/

변환기

이 페이지의 내용

  • 개요
  • 사용 가능한 변환기
  • 스키마가 있는 변환기
  • connector 구성
  • Avro Converter
  • Protobuf Converter
  • JSON Schema 변환기
  • JSON 변환기
  • 문자열 변환기(원본 JSON)

이 가이드에서는 MongoDB Kafka 커넥터와 함께 변환기를 사용하는 방법을 설명합니다. 변환기는 바이트와 Kafka Connect의 런타임 데이터 형식을 상호 변환하는 프로그램입니다.

변환기는 Kafka Connect와 Apache Kafka 간에 데이터를 전달합니다. 커넥터는 MongoDB와 Kafka Connect 간에 데이터를 전달합니다. 다음 다이어그램은 이러한 관계를 보여줍니다.

Kafka Connect에서 변환기의 역할을 설명하는 다이어그램

변환기에 대해 자세히 알아보려면 다음 리소스를 참조하세요:

  • Confluent의 문서.

  • Kafka Connect 개념에 대한 Confluent 문서

  • 변환기 인터페이스 API 설명서

커넥터는 MongoDB 데이터를 Kafka Connect의 런타임 데이터 형식으로 변환하기 때문에 사용 가능한 모든 변환기와 함께 작동합니다.

중요

소스 및 싱크 커넥터에 동일한 변환기 사용

MongoDB Kafka 소스 커넥터와 MongoDB Kafka 싱크 커넥터에서 동일한 변환기를 사용해야 합니다. 예를 들어 소스 커넥터가 Protobuf를 사용하여 주제에 쓰는 경우 싱크 커넥터가 주제를 읽을 때에도 Protobuf를 사용해야 합니다.

사용할 변환기를 알아 보려면Confluent의 이 페이지를 참조하세요.

Kafka Connect Avro Converter(Avro Converter), Kafka Connect Protobuf Converter 또는 Kafka Connect JSON Schema Converter와 같은 스키마 기반 변환기를 사용하는 경우, 소스 커넥터에서 스키마를 정의해야 합니다.

스키마 를 지정하는 방법을 학습 보려면 스키마 적용 가이드 를 참조하세요.

이 섹션에서는 커넥터 파이프라인에서 다음 변환기를 구성할 수 있는 속성 파일의 템플릿을 제공합니다.

다음 탭을 클릭하면 Avro 변환기에서 작동하는 속성 파일을 볼 수 있습니다.

다음 속성 파일은 소스 커넥터를 정의합니다. 이 커넥터는 기본 스키마와 Avro 변환기를 사용하여 Apache Kafka 주제에 씁니다.

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=<your schema registry uri>

중요

MongoDB 데이터 소스가 있는 Avro 변환기

Avro 변환기는 정적 구조의 데이터에는 적합하지만 동적 데이터나 변화하는 데이터에는 적합하지 않습니다. MongoDB의 스키마리스 문서 모델은 동적 데이터를 지원하므로 Avro 변환기를 지정하기 전에 MongoDB 데이터 소스에 정적 구조가 있는지 확인하세요.

다음 속성 파일 은 싱크 connector 를 정의합니다. 이 connector 는 Avro 변환기를 사용하여 Apache Kafka 주제 에서 읽습니다.

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=<your schema registry uri>

이전 속성 파일을 사용하려면 꺾쇠 괄호 안의 자리 표시자 텍스트를 해당 정보로 바꾸세요.

Protobuf 변환기와 함께 작동하는 속성 파일을 보려면 다음 탭을 클릭하세요.

다음 속성 파일은 소스 connector를 정의합니다. 이 connector는 기본 스키마와 Protobuf 변환기를 사용하여 Apache Kafka 주제에 씁니다.

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
key.converter=io.confluent.connect.protobuf.ProtobufConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.protobuf.ProtobufConverter
value.converter.schema.registry.url=<your schema registry uri>

다음 속성 파일 은 싱크 connector 를 정의합니다. 이 connector 는 Protobuf 변환기를 사용하여 Apache Kafka 주제 에서 읽습니다.

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=io.confluent.connect.protobuf.ProtobufConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.protobuf.ProtobufConverter
value.converter.schema.registry.url=<your schema registry uri>

이전 속성 파일을 사용하려면 꺾쇠 괄호 안의 자리 표시자 텍스트를 해당 정보로 바꾸세요.

JSON Schema 변환기와 함께 작동하는 속성 파일을 보려면 다음 탭을 클릭하세요.

다음 속성 파일은 Confluent 스키마 레지스트리를 사용하여 JSON 스키마를 관리하도록 커넥터를 구성합니다.

다음 속성 파일은 소스 커넥터를 정의합니다. 이 커넥터는 기본 스키마와 JSON Schema 변환기를 사용하여 Apache Kafka 주제에 씁니다.

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
key.converter=io.confluent.connect.json.JsonSchemaConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.json.JsonSchemaConverter
value.converter.schema.registry.url=<your schema registry uri>

다음 속성 파일 은 싱크 connector 를 정의합니다. 이 connector 는 JSON schema 변환기를 사용하여 Apache Kafka 주제 에서 읽습니다.

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=io.confluent.connect.json.JsonSchemaConverter
key.converter.schema.registry.url=<your schema registry uri>
value.converter=io.confluent.connect.json.JsonSchemaConverter
value.converter.schema.registry.url=<your schema registry uri>

다음 속성 파일은 메시지에 JSON Schema를 포함하도록 connector 를 구성합니다.

중요

메시지 크기 증가

메시지에 JSON schema 를 포함하면 메시지 크기가 늘어납니다. JSON schema 를 사용하는 동안 메시지 크기를 줄이려면 스키마 레지스트리를 사용하세요.

다음 속성 파일은 소스 커넥터를 정의합니다. 이 커넥터는 기본 스키마와 JSON Schema 변환기를 사용하여 Apache Kafka 주제에 씁니다.

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=schema
output.format.key=schema
output.schema.infer.value=true
key.converter.schemas.enable=true
value.converter.schemas.enable=true
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

다음 속성 파일 은 싱크 connector 를 정의합니다. 이 connector 는 JSON schema 변환기를 사용하여 Apache Kafka 주제 에서 읽습니다.

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter.schemas.enable=true
value.converter.schemas.enable=true
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

이전 속성 파일을 사용하려면 꺾쇠 괄호 안의 자리 표시자 텍스트를 해당 정보로 바꾸세요.

다음 탭을 클릭하면 JSON 변환기와 함께 동작하는 속성 파일을 볼 수 있습니다.

다음 속성 파일은 소스 connector를 정의합니다. 이 connector는 JSON 변환기를 사용하여 Apache Kafka 주제에 씁니다.

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=json
output.format.key=json
key.converter.schemas.enable=false
value.converter.schemas.enable=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

다음 속성 파일 은 싱크 connector 를 정의합니다. 이 connector 는 JSON 변환기를 사용하여 Apache Kafka 주제 에서 읽습니다.

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter.schemas.enable=false
value.converter.schemas.enable=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

이전 속성 파일을 사용하려면 꺾쇠 괄호 안의 자리 표시자 텍스트를 해당 정보로 바꾸세요.

다음 탭을 클릭하면 Srting 변환기와 함께 동작하는 속성 파일을 볼 수 있습니다.

다음 속성 파일은 소스 커넥터를 정의합니다. 이 커넥터는 문자열 변환기를 사용하여 Apache Kafka 주제에 씁니다.

connector.class=com.mongodb.kafka.connect.MongoSourceConnector
connection.uri=<your mongodb uri>
database=<your database to read from>
collection=<your collection to read from>
output.format.value=json
output.format.key=json
key.converter.schemas.enable=false
value.converter.schemas.enable=false
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter

다음 속성 파일 은 싱크 connector 를 정의합니다. 이 connector 는 string 변환기를 사용하여 Apache Kafka 주제 에서 읽습니다.

connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=<your mongodb uri>
database=<your database to write to>
collection=<your collection to write to>
topics=<your topic to read from>
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter

중요

수신된 문자열은 유효한 JSON 이어야 합니다.

싱크 connector JSON Apache Kafka string 는 변환기를 사용하는 경우에도 주제 에서 유효한 문자열을 수신해야 합니다.

이전 속성 파일을 사용하려면 꺾쇠 괄호 안의 자리 표시자 텍스트를 해당 정보로 바꾸세요.

돌아가기

데이터 형식