シャッフル上限が 200 GB から 1 TB に!EMR Serverless がテラバイト級に対応
こんにちは、しぃちゃんだよ!Spark のシャッフルが、ついにテラバイト級になったよ!
AWS What's Newなにが発表されたの?
AWS の What's New で、Amazon EMR Serverless のサーバーレスストレージが強化されて、最大 1 TB のシャッフル操作に対応したと発表されたよ。
今までどうだったの?
ジョブあたりの上限は 200 GB だったよ。結合・集計・ソートのようなシャッフルの多い処理では、この上限が足かせになる場面があったんだね。
これで何が変わるの?
複雑な操作で大量のシャッフルデータが出る、本番規模の Apache Spark ワークロードを動かせるようになるよ。テラバイト級のデータを扱う本番ワークロードを、ストレージの制約を気にせず移行できるの。
特に効果が大きいのは、この 2 つだよ。
- マルチテラバイト級のデータセットにまたがる、大きなテーブルの結合
- カーディナリティの高いデータに対する、複雑な集計
深く潜ってみよう
- スピルに対応していて、メモリを多く使う処理でも、必要に応じてディスクにオフロードして処理を続けられる。ジョブの信頼性と成功率が上がる
- 利用できるのは Amazon emr-7.14 と emr-spark-8.1 以降
- 18 の AWS リージョンで利用可能(リージョン一覧と各制限は EMR のドキュメントを参照)
まとめ
- EMR Serverless のシャッフル上限が、ジョブあたり 200 GB から 1 TB に
- 大きな結合や高カーディナリティの集計が主な恩恵
- スピル対応で、メモリ負荷の高い処理も安定
- emr-7.14 と emr-spark-8.1 以降、18 リージョンで利用可能
テラバイト級の Spark ジョブを EMR Serverless に載せたかったデータエンジニアのみんなに、待望の更新だよ!