Scala を使用した AWS Glue ETL スクリプトのプログラミング - AWS Glue

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Scala を使用した AWS Glue ETL スクリプトのプログラミング

AWS Glue コンソールを使用して Scala ETL (抽出、変換、ロード) プログラムを自動的に生成し、必要に応じて変更してからジョブに割り当てることができます。または、独自のプログラムを最初から記述することもできます。詳細については、「AWS Glue でジョブを追加する」を参照してください。次に AWS Glue はサーバーで Scala プログラムをコンパイルし、その後、関連付けられているジョブを実行します。

プログラムをエラーなしでコンパイルして正常に実行するには、ジョブで実行する前にプログラムを REPL (Read-Eval-Print Loop) や Jupyter Notebook の開発エンドポイントにロードし、テストすることが重要です。コンパイルプロセスはサーバーで実行されるため、そこで問題が発生してもよく確認できません。

開発エンドポイントでの Jupyter Notebook を使用した Scala ETL プログラムのテスト

AWS Glue 開発エンドポイントで Scala プログラムをテストするには、「開発エンドポイントの追加」の説明に従って開発エンドポイントを設定します。

次に、コンピュータでローカルに実行されているか、Amazon EC2 ノートブックサーバーでリモートに実行されている Jupyter Notebook に開発エンドポイントを接続します。Jupyter Notebook のローカルバージョンをインストールするには、「チュートリアル: JupyterLab の Jupyter Notebook」の手順に従います。

Scala コードの実行とノートブックでの PySpark コードの実行が唯一異なる点は、ノートブックでは以下のコードを使用して各パラグラフを開始する必要があることです。

%spark

これにより、ノートブックサーバーがデフォルトで Spark インタープリタの PySpark フレーバーになるのを防止できます。

Scala REPL での Scala ETL プログラムのテスト

AWS Glue Scala REPL を使用して開発エンドポイントで Scala プログラムをテストできます。「チュートリアル: SageMaker ノートブックを使用する」の手順に従います。ただし、SSH-to-REPL コマンドの最後では、-t gluepyspark-t glue-spark-shell に置き換えます。これにより、AWS Glue Scala REPL が呼び出されます。

完了後に REPL を閉じるには、「sys.exit」と入力します。