AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

스트리밍 쓰기 구성 옵션

스트리밍 모드에서 MongoDB에 데이터를 쓸 때 다음 속성을 구성할 수 있습니다.

참고

SparkConf을(를) 사용하여 커넥터의 쓰기 구성을 설정하는 경우 각 속성 앞에 spark.mongodb.write.을(를) 접두사로 붙입니다.

속성 이름
설명

connection.uri

필수 사항입니다.
연결 문자열 구성 키입니다.

기본값: mongodb://localhost:27017/

database

필수 사항입니다.
데이터베이스 이름 구성입니다.

collection

필수 사항입니다.
컬렉션 이름 구성입니다.

comment

쓰기 (write) 작업에 추가할 주석입니다. 주석은 데이터베이스 프로파일러의 출력에 표시됩니다.

기본값: 없음

mongoClientFactory

MongoClientFactory 구성 키입니다. 인터페이스를 구현
해야 하는 사용자 지정 구현 지정할 수 com.mongodb.spark.sql.connector.connection.MongoClientFactory 있습니다.

기본값: com.mongodb.spark.sql.connector.connection.DefaultMongoClientFactory

convertJson

connector 문자열 값을 구문 분석하고 확장 JSON BSON 으로 변환할지 여부를 지정합니다.

이 설정은 다음 값을 허용합니다.

  • any: connector는 모든 JSON 값을 BSON으로 변환합니다.

    • "{a: 1}"{a: 1}이 됩니다.

    • "[1, 2, 3]"[1, 2, 3]이 됩니다.

    • "true"true이 됩니다.

    • "01234"1234이 됩니다.

    • "{a:b:c}" 은(는) 변하지 않습니다.

  • objectOrArrayOnly: connector는 JSON 객체와 배열만 BSON으로 변환합니다.

    • "{a: 1}"{a: 1}이 됩니다.

    • "[1, 2, 3]"[1, 2, 3]이 됩니다.

    • "true" 은(는) 변하지 않습니다.

    • "01234" 은(는) 변하지 않습니다.

    • "{a:b:c}" 은(는) 변하지 않습니다.

  • false: connector는 모든 값을 문자열로 남깁니다.

기본값입니다: false

idFieldList

컬렉션 데이터를 분할 할 필드 또는 필드 목록을 지정합니다. 필드 두 개 이상 지정하려면 다음 예시 와 같이 쉼표를 사용하여 구분합니다.

"fieldName1,fieldName2"

기본값입니다: _id

ignoreNullValues

인 경우 connector 배열 및 중첩 문서의 값을 true포함하여 기록할 때 모든 값을 무시합니다.null null

기본값: false

maxBatchSize

대량 작업에서 배치 할 최대 작업 수를 지정합니다.

기본값: 512

operationType

쓰기 작업의 유형을 지정합니다. 다음 값 중 하나로 설정할 수 있습니다.

  • insert: 데이터를 삽입합니다.

  • replace: idFieldList 값과 일치하는 기존 문서를 새 데이터로 바꿉니다. 일치하는 항목이 없으면 upsertDocument 값은 connector가 새 문서를 삽입하는지 여부를 나타냅니다.

  • update: idFieldList 값과 일치하는 기존 문서를 새 데이터로 업데이트합니다. 일치하는 항목이 없으면 upsertDocument 값은 connector가 새 문서를 삽입하는지 여부를 나타냅니다.


기본값입니다: replace

ordered

순서가 지정된 대량 작업을 수행할지 여부를 지정합니다.

기본값: true

upsertDocument

true인 경우 대체 및 업데이트 작업은 일치하는 항목이 없는 경우 데이터를 삽입합니다.

time series 컬렉션의 경우 upsertDocument false를 로 설정하다 해야 합니다.

기본값: true

writeConcern.w

w쓰기 (write) 작업이 지정된 수의 MongoDB 노드에 전파되었음을 확인 요청하는 쓰기 고려 옵션인 를 지정합니다.

이 옵션에 허용되는 값 목록은 MongoDB Server 매뉴얼의 WriteConcern w Option을 참조하세요.

기본값: Acknowledged

writeConcern.journal

j옵션에 지정된 기준에 따라 데이터가 디스크 저널 에 기록되었음을 확인 w 요청하는 쓰기 고려 옵션인 를 지정합니다.true 또는 false 중 하나를 지정할 수 있습니다.

값에 대한 자세한 j 내용은 MongoDB Server 매뉴얼의 WriteConcern j 옵션을 참조하세요.

writeConcern.wTimeoutMS

wTimeoutMS쓰기 (write) 작업이 지정된 시간(밀리초)을 초과할 때 오류를 반환하는 쓰기 고려 옵션인 를 지정합니다. 이 선택적 설정을 사용하는 경우 음수가 아닌 정수를 지정해야 합니다.

wTimeoutMS 값에 대한 자세한 내용은 MongoDB Server 매뉴얼의 WriteConcern wtimeout을 참조하세요.

checkpointLocation

connector 체크포인트 정보를 기록하는 디렉토리 의 절대 파일 경로입니다. 체크포인트에 대한

자세한 내용은 Spark 구조화된 스트리밍 프로그래밍 가이드

기본값: 없음을 참조하세요.

forceDeleteTempCheckpointLocation

기존 체크포인트 데이터를 삭제 할지 여부를 지정하는 부울 값입니다.

기본값: false

truncateMode

덮어쓰기를 수행할 때 컬렉션 자르는 방법을 지정합니다. 이 옵션을 다음 값 중 하나로 설정하다 수 있습니다.

  • TruncateMode.DROP: 기본값입니다. 컬렉션 제거합니다.

  • TruncateMode.TRUNCATE: 컬렉션 의 모든 항목을 삭제하지만 인덱스, 컬렉션 옵션 및 모든 샤딩 구성은 보존합니다. 이는 드롭 작업보다 느립니다.

ignoreDuplicatesOnInsert

true 설정하다 하면 connector 순서가 지정되지 않은 삽입 작업을 수행할 때 중복 키 오류를 무시합니다. 삽입되는 데이터에는 _id 필드 값 또는 옵션에 지정된 필드가 포함되어야 idFieldList 합니다.

기본값: false

SparkConf를 사용하여 이전 설정을 지정하는 경우 해당 설정을 connection.uri 설정에 포함하거나 개별적으로 나열할 수 있습니다.

다음 코드 예시에서는 데이터베이스, 컬렉션, convertJson 설정을 connection.uri 설정의 일부로 지정하는 방법을 보여줍니다.

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/myDB.myCollection?convertJson=any

connection.uri를 더 짧게 유지하고 설정을 더 읽기 쉽게 만들려면 대신 개별적으로 지정할 수 있습니다.

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/
spark.mongodb.write.database=myDB
spark.mongodb.write.collection=myCollection
spark.mongodb.write.convertJson=any

중요

connection.uri 및 해당 줄 모두에 설정을 지정하면 connection.uri 설정이 우선 적용됩니다. 예를 들어 다음 구성에서 연결 데이터베이스는 foobar입니다.

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/foobar
spark.mongodb.write.database=bar