[アップデート]AWS GlueのPython ShellでPython 3.6が利用できるようになりました!

AWS GlueのPython ShellでPython 3.6が利用できるようになりました!
2019.06.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Glueのジョブ作成画面にPython3の表示が現れた!

こんにちは。DI部の大高です。

先日、AWSマネージメントコンソール経由でGlueのPython Shellジョブを触っていた際に気づいたのですが、遂にAWS GlueのPython ShellでPython 3.6が利用できるようになりました。

これまではPython 2.7のみでしたが、これに加えてPython 3.6が選択できます。

AWS Glue supports scripts that are compatible with Python 3.6 in Python shell jobs

また、以下のドキュメントにも詳細な記載がありますが、こちらは6/7現在では英語版だけの記載のようです。

Adding Python Shell Jobs in AWS Glue - AWS Glue

マネージメントコンソールでの表示

以下のように、Python Shellを選択すると、Python 3Python 2 が選択できるようになっています。デフォルトは Python 3 が選択されています。

AWS CLIでのバージョン指定

ドキュメントにもある通り、AWS CLIでPython Shellジョブを作成する場合には、以下のようなコマンドになりますが、こちらはデフォルトでは Python 2.7 になります。

aws glue create-job \
         --name python-job-cli \
         --role Glue_DefaultRole \
         --command '{"Name" :  "pythonshell", "ScriptLocation" : "s3://aws-glue-scripts-123456789012-us-east-1/Admin/python-job-cli.py"}'

Python 3.6 を利用したい場合には、以下のように --command のパラメータとして "PythonVersion":"3" を指定します。

aws glue create-job \
         --name python-job-cli \
         --role Glue_DefaultRole \
         --command '{"Name" :  "pythonshell", "PythonVersion":"3", "ScriptLocation" : "s3://aws-glue-scripts-123456789012-us-east-1/Admin/python-job-cli.py"}'

おわりに

個人的にPythonのコードは2系のコードにあまり馴染みが無いので、非常にありがたいアップデートです!それでは!