shiichan

シャッフル上限が 200 GB から 1 TB に!EMR Serverless がテラバイト級に対応

こんにちは、しぃちゃんだよ!Spark のシャッフルが、ついにテラバイト級になったよ!

AWS What's New aws.amazon.com

なにが発表されたの?

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 に載せたかったデータエンジニアのみんなに、待望の更新だよ!