Docs Menu
Docs Home
/
Spark Connector
/

バッチ モードでの MongoDB への書込み (write)

MongoDB にデータを書き込むには、 Dataset<Row>オブジェクトで write()メソッドを呼び出します。 このメソッドはDataFrameWriterオブジェクトを返します。このオブジェクトを使用して、バッチ書込み操作の形式やその他の構成設定を指定できます。

MongoDB に書き込むには、次の構成設定を指定する必要があります。

設定
説明
dataFrame.write.format()
基礎の出力データソースの形式を指定します。 MongoDB に書き込むには、 mongodbを使用します。
dataFrame.write.option()

option メソッドを使用して、 MongoDB配置 接続string 、 MongoDBデータベースとコレクション、宛先ディレクトリなどのバッチ書込み設定を構成します。

バッチ書込み構成オプションのリストについては、 バッチ書込み構成オプションのガイドを参照してください。

次の例では、 jsonファイルから Data Frame を作成し、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();

Tip

DataFrame 型

DataFrame は、Java API のクラスとして存在しません。 DataFrame を参照するには、 Dataset<Row>を使用します。

MongoDB にデータを書き込むには、 DataFrameオブジェクトでwrite関数を呼び出します。 この関数はDataFrameWriterオブジェクトを返します。このオブジェクトを使用して、バッチ書込み操作の形式やその他の構成設定を指定できます。

MongoDB に書き込むには、次の構成設定を指定する必要があります。

設定
説明
dataFrame.write.format()
基礎の出力データソースの形式を指定します。 MongoDB に書き込むには、 mongodbを使用します。
dataFrame.write.option()

option メソッドを使用して、 MongoDB配置接続string 、 MongoDB database とコレクション、宛先ディレクトリなどのバッチ書込み設定を構成します。

バッチ書込み構成オプションのリストについては、バッチ書込み構成オプションのガイドを参照してください。

次の例では、 SparkSessionオブジェクトのcreateDataFrame()関数を使用して、名前と期限を含むタプルのリストと列名のリストからDataFrameオブジェクトを作成します。 次に、このDataFrameを MongoDB のpeople.contactsコレクションに書き込みます。

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 に書き込むには、次の構成設定を指定する必要があります。

設定
説明
dataFrame.write.format()
基礎の出力データソースの形式を指定します。 MongoDB に書き込むには、 mongodbを使用します。
dataFrame.write.option()

option メソッドを使用して、 MongoDB配置接続string 、 MongoDB database とコレクション、宛先ディレクトリなどのバッチ書込み設定を構成します。

バッチ書込み構成オプションのリストについては、バッチ書込み構成オプションのガイドを参照してください。

次の例では、 jsonファイルから Data Frame を作成し、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 はターゲット コレクションを削除し、デフォルトのコレクション オプションを使用する新しいコレクションを作成します。 この動作は、次のコレクション タイプなど、デフォルト オプションを使用しないコレクションに影響を与える可能性があります。

  • シャーディングされたコレクション

  • デフォルト以外の照合順序を持つコレクション

  • 時系列コレクション

保存モードの詳細については、 Spark SQL ガイド を参照してください。

重要

書込み操作にnull値を持つフィールドが含まれている場合、コネクタはフィールド名とnull値を MongoDB に書込みます。 この動作を変更するには、書込み構成プロパティignoreNullValuesを設定します。

コネクタの書込み (write) 動作の設定の詳細については、「書込み構成オプション 」を参照してください。

これらの例で使用されている型の詳細については、次の Apache Spark API ドキュメントを参照してください。

戻る

構成