Docs Menu
Docs Home
/
Spark 커넥터
/

배치 모드로 MongoDB에 쓰기

MongoDB 에 데이터를 쓰기 (write) 려면 Dataset<Row> 객체 에서 write() 메서드를 호출합니다. 이 메서드는 배치 쓰기 (write) 작업의 형식 및 기타 구성 설정을 지정하는 데 사용할 수 있는 DataFrameWriter 객체 를 반환합니다.

MongoDB 에 쓰기 (write) 려면 다음 구성 설정을 지정해야 합니다.

설정
설명
dataFrame.write.format()
기본 출력 데이터 소스 의 형식을 지정합니다. mongodb 을(를) 사용하여 MongoDB 에 쓰기 (write) .
dataFrame.write.option()

option 메서드를 사용하여 MongoDB 배포서버 연결 string, MongoDB 데이터베이스 및 컬렉션, 대상 디렉토리 등 배치 쓰기 (write) 설정을 구성합니다.

배치 쓰기 (write) 구성 옵션 목록은 일괄 쓰기 구성 옵션 가이드 를 참조하세요.

다음 예시에서는 json 파일에서 DataFrame을 생성하여 MongoDB의 people.contacts 컬렉션에 저장합니다.

Dataset<Row> dataFrame = spark.read().format("json")
.load("example.json");
dataFrame.write().format("mongodb")
.mode("overwrite")
.option("database", "people")
.option("collection", "contacts")
.save();

DataFrame 유형

DataFrame Java API 에서 클래스로 존재하지 않습니다. Dataset<Row> 를 사용하여 DataFrame을 참조합니다.

MongoDB에 데이터를 쓰려면 DataFrame 객체에서 write 함수를 호출합니다. 이 함수는 배치 쓰기 작업의 형식 및 기타 구성 설정을 지정하는 데 사용할 수 있는 DataFrameWriter 객체를 반환합니다.

MongoDB 에 쓰기 (write) 려면 다음 구성 설정을 지정해야 합니다.

설정
설명
dataFrame.write.format()
기본 출력 데이터 소스 의 형식을 지정합니다. mongodb 을(를) 사용하여 MongoDB 에 쓰기 (write) .
dataFrame.write.option()

option 메서드를 사용하여 MongoDB 배포 연결 string, MongoDB database 및 컬렉션, 대상 디렉토리를 포함한 일괄 쓰기 설정을 구성합니다.

일괄 쓰기 구성 옵션 목록은 일괄 쓰기 구성 옵션 가이드를 참조하세요.

다음 예제에서는 SparkSession 객체의 createDataFrame() 함수를 사용하여 이름과 연령이 포함된 튜플 목록과 열 이름 목록에서 DataFrame 객체를 만듭니다. 그런 다음 DataFrame 이 을 people.contacts MongoDB의 collection에 씁니다.

dataFrame = spark.createDataFrame([("Bilbo Baggins", 50), ("Gandalf", 1000), ("Thorin", 195), ("Balin", 178), ("Kili", 77),
("Dwalin", 169), ("Oin", 167), ("Gloin", 158), ("Fili", 82), ("Bombur", None)], ["name", "age"])
dataFrame.write.format("mongodb")
.mode("append")
.option("database", "people")
.option("collection", "contacts")
.save()

MongoDB에 데이터를 쓰려면 DataFrame 객체에서 write() 메서드를 호출합니다. 이 메서드는 일괄 쓰기 작업의 형식 및 기타 구성 설정을 지정하는 데 사용할 수 있는 DataFrameWriter 객체를 반환합니다.

MongoDB 에 쓰기 (write) 려면 다음 구성 설정을 지정해야 합니다.

설정
설명
dataFrame.write.format()
기본 출력 데이터 소스 의 형식을 지정합니다. mongodb 을(를) 사용하여 MongoDB 에 쓰기 (write) .
dataFrame.write.option()

option 메서드를 사용하여 MongoDB 배포 연결 string, MongoDB database 및 컬렉션, 대상 디렉토리를 포함한 일괄 쓰기 설정을 구성합니다.

일괄 쓰기 구성 옵션 목록은 일괄 쓰기 구성 옵션 가이드를 참조하세요.

다음 예시에서는 json 파일에서 DataFrame을 생성하여 MongoDB의 people.contacts 컬렉션에 저장합니다.

val dataFrame = spark.read.format("json")
.load("example.json")
dataFrame.write.format("mongodb")
.mode("overwrite")
.option("database", "people")
.option("collection", "contacts")
.save()

경고

저장 모드

MongoDB Spark Connector 는 다음과 같은 저장 모드를 지원합니다.

  • append

  • overwrite

overwrite 쓰기 모드를 지정하면 connector 는 대상 컬렉션을 삭제하고 기본 컬렉션 옵션을 사용하는 새 컬렉션을 만듭니다. 이 동작은 다음 컬렉션 유형과 같이 기본 옵션을 사용하지 않는 컬렉션에 영향을 줄 수 있습니다.

  • 샤드 컬렉션

  • 기본값이 아닌 데이터 정렬이 있는 컬렉션

  • time series 컬렉션

저장 모드에 학습 보려면 Spark SQL 가이드를 참조하세요.

중요

쓰기 (write) 작업에 null 값이 있는 필드 가 포함된 경우 connector 는 필드 이름과 null 값을 MongoDB 에 씁니다. 쓰기 (write) 구성 속성 ignoreNullValues 을(를) 설정하여 이 동작을 변경할 수 있습니다.

커넥터의 쓰기 (write) 동작 설정에 대한 자세한 내용은 쓰기 구성 옵션을 참조하세요.

이 예시에 사용된 유형에 대해 자세히 알아보려면 다음 Apache Spark API 문서를 참조하세요.

돌아가기

일괄 읽기 구성 옵션