/home/by-natures/dev*

データ界隈で働くエンジニアとしての技術的なメモと、たまに普通の日記。

2019/02/15 Glue Job の同時実行数について

Glue Job から Spark ジョブを呼ぶことで、大規模データに対する ETL 処理をしたいなと思っているのですが、Glue Job に同時実行数の制限があることに気がつきました:

docs.aws.amazon.com

Glue Job にはテンプレート部分を記述して、実際に動かす SparkSQL はパラメータとして Glue Job に与えようと思ったのですが、同時実行数3だと苦しいです。追加料金で増やしてもらうことはできそうですが、数十・数百にまで上げてもらえるものなんでしょうか。

同時実行数は大幅に上げられなくとも、キューイングしてジョブ待機させておければ良いので、そのような解決方法が取れるか AWS Forum で質問中です。ニッチな課題かもしれないので、回答があるか不安ですが。。:

https://forums.aws.amazon.com/message.jspa?messageID=889894#889894

Glue Job の状態を見て必要に応じて sleep するという処理をしている方がいるようですが、多数のジョブが sleep だけでジョブ実行を待機するのは場当たり的すぎますし。。SQS にキューイングさせて、そこから Glue Job へ登録する何かがいて、ジョブ完了時は CloudWatch イベントを発火させて・・・というとずいぶん複雑になってしまいます。来週 AWS の方とお話する機会があるので聞いてみようと思います。

それでは良い週末を。