EMRFS S3-optimizedコミットプロトコルとマルチパートアップロード - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EMRFS S3-optimizedコミットプロトコルとマルチパートアップロード

S3-optimized 最適化コミットプロトコルで動的パーティション上書きの最適化を使用するには、Amazon EMRFS でマルチパートアップロードを有効にする必要がありますEMR。マルチパートアップロードは、デフォルトで有効になっています。また、必要に応じて再度有効にすることができます。詳細については、Amazon S3のマルチパートアップロードの設定」を参照してください。 EMR

動的パーティションの上書き中、EMRFSS3-optimizedコミットプロトコルは、マルチパートアップロードのトランザクションのような特性を使用して、タスクの試行によって書き込まれたファイルがジョブのコミット時にジョブの出力場所にのみ表示されるようにします。このようにマルチパートアップロードを使用することにより、コミットプロトコルはジョブコミットのパフォーマンスをデフォルトの SQLHadoopMapReduceCommitProtocol よりも向上させます。EMRFS S3-optimizedコミットプロトコルを使用する場合、従来のマルチパートアップロードの動作との主な違いがいくつかあります。

  • マルチパートアップロードは常にファイルサイズに関係なく実行されます。これは、 fs.s3n.multipart.uploads.split.size プロパティがマルチパートアップロードがトリガーされるファイルサイズを制御する EMRFSのデフォルトの動作とは異なります。

  • タスクがコミットされるか中止されるまで、マルチパートアップロードは長期間不完全な状態になります。これは、タスクが特定のファイルの書き込みを完了したときにマルチパートアップロードが完了EMRFSする のデフォルトの動作とは異なります。

これらの違いにより、タスクの実行中に Spark エグゼキュターがJVMクラッシュまたは強制終了した場合Amazon S3、またはジョブの実行中に Spark ドライバーがJVMクラッシュまたは強制終了した場合、不完全なマルチパートアップロードは残される可能性が高くなります。このため、S3-optimized EMRFS 最適化コミットプロトコルを使用する場合は、失敗したマルチパートアップロードを管理するためのベストプラクティスに従ってください。詳細については、Amazon S3 バケットを使用するためのベストプラクティス」を参照してください。 EMR