質問: Spark-ScalaアプリケーションからSQL Serverに書き込むプロセスを作成しています。そのデータのパーティションごとに複数のINSERT BULKを生成し(期待通り)、100Kレコードをバッチサイズにします。 トランザクションログを監視しているときに、そのログがいっぱいになっていることがわかり、INSERT BULKで期待していました。 私はどのようにバッチごとにコミットを達成することができますお勧めしますか?
回答: DBリカバリモデルがフルに設定されている場合、一括挿入によりトランザクションログに書き込まれ、トランザクションログは引き続き増加します。あなたには2つの選択肢があります: 1. データがロードされている間にデータベース回復モデルを一括ログに変更し、後でフルにリセットする 2. 各バッチがロードされた後(または少数のバッチごとに)トランザクションログをバックアップするようにプロセスを変更する