1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

aws glueのversion2.0がヤバい件

Last updated at Posted at 2020-08-22

言いたいこと

先日、aws glueのversion2.0が出ました。
Python2のサポート切れタイミングに対し、かなり後手後手に対応していた感が否めなかったGlueでしたが、
version2.0はPython3で動作することはもちろん、以下の面でビックリするほどの改善がありました。

  • スタートアップ時間がむちゃくちゃ早い
  • ログがリアルタイムで出力されるようになった

これのおかげで開発体験がかなりレベルアップしたのでGlue0.9もしくは1.0で涙をのんでいた皆様へ、
実際のところの利用レポートとしてご報告しておきたいと思います。
正直これで、あの使いにくい開発エンドポイント要らなくなったんじゃない?? :thinking: というレベルです。

比較環境について

言語 glue version
python2.7 0.9
python3.x 2.0

※このような環境条件での比較なので、厳密にはソースコードが少しだけ改修されています。(py27 -> py3)
 ただ、元々メインロジックはpython3で単体テストを行っていたので、コード改修は極小ですので気にする必要はないはずです。
 (というか、そもそもスタートアップ時間を論じるのにソースコードの中身はあまり関係ないはずです)

glue 0.9 と2.0の性能差

図を見れば簡単にわかると思いますので、貼っておきます。
image.png

処理時間は殆ど変わらないものの、注目すべきはスタートアップ時間です。
5秒程度でSpark環境が起動していることとなります。(ver0.9では10分以上かかることが多かった)
→後述のリアルタイムログの雰囲気からも体感的に5秒程度というのは間違いないのでは?という感じです。(個人の感覚です)

これにより、テスタビリティが大幅に変わります。
今まではGlueジョブでは動作確認が時間がかかりすぎて厳しいので、私はGlue基盤不要なロジックは別のソースファイルにしてテストコードで事前テストを入念に行った上でいざGlueで実行確認!という感じで開発してきました。
しかし、このスタートアップ時間であれば、結構カジュアルにGlue実行基盤上で動作確認することができるレベルかなと思います。

ログがリアルタイムに

Glue1.0は知らないのですが、0.9では実行が完了しないとログが見れないという苦しいものでした。
しかし、2.0は実行開始時点からログがリアルタイムに見ることができます。素晴らしい! :tada:

終わりに

再テスト等を考えるとバージョン上げるのは非常に億劫だったりしますが、早く2.0に上げてしまった方がトータルコストとしてはリーズナブルなところに落ちる可能性が高いと思います。是非ともバージョンを上げていない方は上げてしまった方が良いのでは?という感じがしたのでご報告をいたしました。
→ちなみにまだ、不具合系の話は知りません。くれぐれも導入は自己責任でお願いいたします。 :bow:

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?