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

배치(Batch) 쓰기 구성 옵션

배치 모드로 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을 참조하세요.

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