Docs Menu
Docs Home
/
MongoDB Kafka Connector
/ /

JSON 포맷터

이 페이지의 내용

  • 개요
  • JSON 포맷터
  • 내장 포맷터
  • 예시
  • 기본 JSON 포맷터
  • 확장 JSON 포맷터
  • 간소화된 JSON 포맷터

이 가이드에서는 JSON 소스 에서 사용할 기본 제공 포맷터 클래스를 지정하는 방법을 배울 수 MongoDB Kafka connector있습니다.

JSON 포맷터 는 JSON 데이터가 표시되는 방식을 지정합니다. connector 가 데이터를 출력할 때 다양한 유형을 나타내는 방법에 대한 지침을 제공합니다.

다음 표에서는 소스 connector 에서 사용할 수 있는 포맷터 클래스에 대해 설명합니다.

클래스
설명
com.mongodb.kafka.connect.source.json.formatter.DefaultJson
레거시 엄격한 JSON 포맷터입니다.
com.mongodb.kafka.connect.source.json.formatter.ExtendedJson
완전히 유형이 안전한 확장 JSON 포맷터입니다. 이 포맷터는 유형 보존을 강조하며 대부분의 값을 BSON 유형으로 표현합니다.
com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson
간소화된 JSON 포맷터입니다. 이 포맷터는 ObjectId, Decimal, DateBinary 값을 문자열로 나타냅니다.

다음 표에서는 이 가이드의 예제에서 각 출력 형식을 시연하는 데 사용하는 샘플 문서의 필드에 대해 설명합니다. 열에서는 각 필드 또는 중첩된 필드에 대한 필드 이름, 값 및 유형을 설명합니다.

이름
유형
_id
"5f15aab12435743f9bd126a4"
ObjectID ($oid)
w
[ 12345.6789, 23.53 ]
Array of:
- Decimal128 ($numberDecimal)
- Double ($numberDouble)
x
"SSBsb3ZlIGZvcm1hdHRpbmch" of type "00"
Binary ($binary)
y
"2023-05-11T08:27:07.000Z"
Date ($date)
z
{ a: false, b: 87, c: "hello world" }
Document with fields:
- a: Boolean
- b: Int32 ($numberInt)
- c: String

소스 connector 의 구성 속성에서 다음 속성을 설정하여 기본 JSON 포맷터를 지정합니다.

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.DefaultJson"

Kafka 주제의 샘플 문서 콘텐츠를 출력하면 출력에 다음과 같은 유형 표현이 표시됩니다.

  • ObjectId BSON type이 있는 값

  • Decimal BSON type이 있는 값

  • Binary 버퍼 string 및 바이너리 유형이 포함된 값

  • Date UNIX epoch 이후의 밀리초 단위 값

{
"_id": {"$oid": "5f15aab12435743f9bd126a4"},
"w": [{"$numberDecimal": "12345.6789"}, 23.53],
"x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"},
"y": {"$date": 1683793627000},
"z": {"a": false, "b": 87, "c": "hello world"}
}

소스 connector 의 구성 속성에서 다음 속성을 설정하여 확장 JSON 포맷터를 지정합니다.

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.ExtendedJson"

Kafka 주제의 샘플 문서 콘텐츠를 출력하면 출력에 다음과 같은 유형 표현이 표시됩니다.

  • ObjectId BSON type이 있는 값

  • Decimal BSON type이 있는 값

  • Double BSON type이 있는 값

  • Binary 버퍼 string 및 바이너리 유형이 포함된 값

  • Date UNIX epoch 이후의 밀리초 단위 값

  • Int32 BSON type이 있는 값

{
"_id": {"$oid": "5f15aab12435743f9bd126a4"},
"w": [{"$numberDecimal": "12345.6789"}, {"$numberDouble": "23.53"}],
"x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"},
"y": {"$date": 1683793627000},
"z": {"a": false, "b": {"$numberInt": "87"}, "c": "hello world"}
}

소스 connector 의 구성 속성에서 다음 속성을 설정하여 간소화된 JSON 포맷터를 지정합니다.

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson"

Kafka 주제의 샘플 문서 콘텐츠를 출력하면 출력에 다음과 같은 유형 표현이 표시됩니다.

  • ObjectId 값을 16진수 string로

  • Decimal 값을 string로

  • Binary 값을 버퍼 string로 사용

  • Date 값을 string로

{
"_id": "5f15aab12435743f9bd126a4",
"w": ["12345.6789", 23.53],
"x": "SSBsb3ZlIGZvcm1hdHRpbmch",
"y": "2023-05-11T08:27:07Z",
"z": {"a": false, "b": 87, "c": "hello world"}
}

돌아가기

스키마 적용