JSON 포맷터
개요
이 가이드에서는 JSON 소스 에서 사용할 기본 제공 포맷터 클래스를 지정하는 방법을 배울 수 MongoDB Kafka connector있습니다.
JSON 포맷터
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 , Date 및 Binary 값을 문자열로 나타냅니다. |
예시
다음 표에서는 이 가이드의 예제에서 각 출력 형식을 시연하는 데 사용하는 샘플 문서의 필드에 대해 설명합니다. 열에서는 각 필드 또는 중첩된 필드에 대한 필드 이름, 값 및 유형을 설명합니다.
이름 | 값 | 유형 | |
---|---|---|---|
_id |
| ObjectID ($oid ) | |
w |
| Array of: - Decimal128 ($numberDecimal )- Double ($numberDouble ) | |
x |
| Binary ($binary ) | |
y |
| Date ($date ) | |
z |
| Document with fields: - a : Boolean - b : Int32 ($numberInt )- c : String |
기본 JSON 포맷터
소스 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"} }
확장 JSON 포맷터
소스 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"} }
간소화된 JSON 포맷터
소스 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"} }