변환기
이 페이지의 내용
개요
이 가이드에서는 MongoDB Kafka 커넥터와 함께 변환기를 사용하는 방법을 설명합니다. 변환기는 바이트와 Kafka Connect의 런타임 데이터 형식을 상호 변환하는 프로그램입니다.
변환기는 Kafka Connect와 Apache Kafka 간에 데이터를 전달합니다. 커넥터는 MongoDB와 Kafka Connect 간에 데이터를 전달합니다. 다음 다이어그램은 이러한 관계를 보여줍니다.
변환기에 대해 자세히 알아보려면 다음 리소스를 참조하세요:
사용 가능한 변환기
커넥터는 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와 같은 스키마 기반 변환기를 사용하는 경우, 소스 커넥터에서 스키마를 정의해야 합니다.
스키마 를 지정하는 방법을 학습 보려면 스키마 적용 가이드 를 참조하세요.
connector 구성
이 섹션에서는 커넥터 파이프라인에서 다음 변환기를 구성할 수 있는 속성 파일의 템플릿을 제공합니다.
Avro 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 Converter
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 변환기
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 변환기
다음 탭을 클릭하면 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
이전 속성 파일을 사용하려면 꺾쇠 괄호 안의 자리 표시자 텍스트를 해당 정보로 바꾸세요.
문자열 변환기(원본 JSON)
다음 탭을 클릭하면 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 는 변환기를 사용하는 경우에도 주제 에서 유효한 문자열을 수신해야 합니다.
이전 속성 파일을 사용하려면 꺾쇠 괄호 안의 자리 표시자 텍스트를 해당 정보로 바꾸세요.