0
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 1 year has passed since last update.

AWS Glueをローカルで実行する際のジョブパラメータの渡し方

Posted at

結論

spark-submit コマンドを実行する際に、--JOB_PARAM1 test1のような形式で渡せます。

例えば、この公式ドキュメントのコマンドでジョブパラメータを付けるとすると、以下のようになります。

docker run -it -v ~/.aws:/home/glue_user/.aws -v $WORKSPACE_LOCATION:/home/glue_user/workspace/ -e AWS_PROFILE=$PROFILE_NAME -e DISABLE_SSL=true --rm -p 4040:4040 -p 18080:18080 --name glue_spark_submit amazon/aws-glue-libs:glue_libs_3.0.0_image_01 spark-submit /home/glue_user/workspace/src/$SCRIPT_FILE_NAME --JOB_PARAM1 test1 --JOB_PARAM2 test2

ちなみに

''、""でくくってもOK。
--JOB_PARAM1 'test1'
--JOB_PARAM1 "test1"

ただし、イコールで指定するのはNG。正しく認識されません。
--JOB_PARAM1=test1

Glueのローカル開発方法

以前はあまり情報がありませんでしたが、現在は公式ドキュメントにもわかりやすく実例で載ってますね。
.pyファイルを実行するだけでなく、Glueの環境が動くNotebookもローカルで実行可能です。

さらに、インタラクティブセッションをローカルから使える方法も公式ドキュメントにありました。こちらでも、Notebookをローカルで実行できそうです。
しかし、

インタラクティブセッションは、PyCharm、IntelliJ、VS Code などの IDE との統合を含め、Jupyter が統合するほぼすべてと統合できるオープンソースの Jupyter カーネルを提供します。これにより、ローカル環境でコードをオーサリングし、インタラクティブセッションのバックエンドでシームレスに実行できます。
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/interactive-sessions-overview.html

とあり、インタラクティブセッションを使った場合はSparkの実行環境はバックエンド、つまりAWS側となります。そのため、Notebookはローカルでも、Glueのインタラクティブセッションの課金が発生するので注意です。

0
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
0
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?