Amazon SageMaker Studio で Spark UI をホストする | アマゾン ウェブ サービス

Amazon SageMaker Studio で Spark UI をホストする | アマゾン ウェブ サービス

アマゾンセージメーカー ビッグ データ処理用の人気のある分散コンピューティング フレームワークである Apache Spark を使用して分散データ処理ジョブを実行するいくつかの方法を提供します。

Spark アプリケーションを対話的に実行できます。 Amazon SageMakerスタジオ 接続することで SageMaker Studio ノートブックと AWS Glue インタラクティブ セッション サーバーレス クラスターで Spark ジョブを実行します。 インタラクティブなセッションでは、Apache Spark または Ray を選択して、クラスター管理を気にせずに大規模なデータセットを簡単に処理できます。

あるいは、環境をより詳細に制御する必要がある場合は、事前に構築された SageMaker Spark コンテナを使用して、完全に管理された分散クラスター上で Spark アプリケーションをバッチ ジョブとして実行できます。 Amazon SageMaker処理。 このオプションを使用すると、複数のタイプのインスタンス (コンピューティングの最適化、メモリの最適化など)、クラスター内のノードの数、クラスター構成を選択できるため、データ処理とモデルのトレーニングの柔軟性が向上します。

最後に、Studio ノートブックを アマゾンEMR クラスタ、または Spark クラスターを実行することにより、 アマゾン エラスティック コンピューティング クラウド (Amazon EC2)。

これらすべてのオプションを使用すると、Spark イベント ログを生成および保存し、一般に と呼ばれる Web ベースのユーザー インターフェイスを通じて分析できます。 スパークUI。Spark History Server を実行して、Spark アプリケーションの進行状況を監視し、リソースの使用状況を追跡し、エラーをデバッグします。

この投稿では、 溶液 SageMaker Studio に Spark History Server をインストールして実行し、SageMaker Studio IDE から直接 Spark UI にアクセスするため、さまざまな AWS サービス (AWS Glue Interactive Sessions、SageMaker Processing ジョブ、および Amazon EMR) によって生成され、 Amazon シンプル ストレージ サービス (Amazon S3)バケット。

ソリューションの概要

このソリューションは、Spark History Server を SageMaker Studio の Jupyter Server アプリに統合します。 これにより、ユーザーは SageMaker Studio IDE から Spark ログに直接アクセスできるようになります。 統合された Spark History Server は以下をサポートします。

  • SageMaker 処理 Spark ジョブによって生成されたログへのアクセス
  • AWS Glue Spark アプリケーションによって生成されたログへのアクセス
  • 自己管理型の Spark クラスターと Amazon EMR によって生成されたログへのアクセス

と呼ばれるユーティリティ コマンド ライン インターフェイス (CLI) sm-spark-cli SageMaker Studio システム ターミナルから Spark UI と対話するためにも提供されます。 の sm-spark-cli SageMaker Studio を離れることなく Spark History Server を管理できるようになります。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

このソリューションは、次のアクションを実行するシェル スクリプトで構成されます。

  • SageMaker Studio ユーザー プロファイルまたは SageMaker Studio 共有スペース用に、Jupyter Server に Spark をインストールします。
  • インストール sm-spark-cli ユーザープロファイルまたは共有スペース用

SageMaker Studio ドメインに Spark UI を手動でインストールする

SageMaker Studio で Spark UI をホストするには、次の手順を実行します。

  1. 選択する システム端末 SageMaker Studio ランチャーから。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. システム端末で次のコマンドを実行します。
curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts
chmod +x install-history-server.sh
./install-history-server.sh

コマンドが完了するまでに数秒かかります。

  1. インストールが完了したら、提供されているツールを使用して Spark UI を開始できます。 sm-spark-cli 次のコードを実行して、Web ブラウザからアクセスします。

sm-spark-cli start s3://DOC-EXAMPLE-BUCKET/<SPARK_EVENT_LOGS_LOCATION>

SageMaker Processing、AWS Glue、または Amazon EMR によって生成されたイベント ログが保存される S3 の場所は、Spark アプリケーションの実行時に設定できます。

SageMaker Studio ノートブックと AWS Glue インタラクティブ セッションの場合、ノートブックから直接 Spark イベント ログの場所を設定できます。 sparkmagic カーネル。

  sparkmagic カーネルには、ノートブックを通じてリモート Spark クラスターと対話するためのツールのセットが含まれています。 それは魔法を提供します(%spark, %sql) コマンドを使用して、Spark コードを実行し、SQL クエリを実行し、エグゼキューターのメモリやコアなどの Spark 設定を構成します。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

SageMaker Processing ジョブの場合、SageMaker Python SDK から直接 Spark イベント ログの場所を設定できます。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

詳細については、AWS のドキュメントを参照してください。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

生成された URL を選択して、Spark UI にアクセスできます。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

次のスクリーンショットは、Spark UI の例を示しています。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Spark 履歴サーバーのステータスを確認するには、 sm-spark-cli status Studio System ターミナルのコマンド。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

必要に応じて、Spark History Server を停止することもできます。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

SageMaker Studio ドメイン内のユーザーの Spark UI インストールを自動化する

IT 管理者は、 ライフサイクル構成。 これは、SageMaker Studio ドメイン内のすべてのユーザー プロファイル、または特定のユーザー プロファイルに対して実行できます。 見る ライフサイクル設定を使用してAmazonSageMakerStudioをカスタマイズする のガイドをご参照ください。

からライフサイクル構成を作成できます。 インストール履歴サーバー.sh スクリプトを作成し、既存の SageMaker Studio ドメインにアタッチします。 インストールは、ドメイン内のすべてのユーザー プロファイルに対して実行されます。

で設定された端末から AWSコマンドラインインターフェイス (AWS CLI) と適切なアクセス許可を持っている場合は、次のコマンドを実行します。

curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts LCC_CONTENT=`openssl base64 -A -in install-history-server.sh` aws sagemaker create-studio-lifecycle-config --studio-lifecycle-config-name install-spark-ui-on-jupyterserver --studio-lifecycle-config-content $LCC_CONTENT --studio-lifecycle-config-app-type JupyterServer --query 'StudioLifecycleConfigArn' aws sagemaker update-domain --region {YOUR_AWS_REGION} --domain-id {YOUR_STUDIO_DOMAIN_ID} --default-user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "LifecycleConfigArn": "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver", "InstanceType": "system" }, "LifecycleConfigArns": [ "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver" ] }}'

Jupyter Server が再起動すると、Spark UI と sm-spark-cli SageMaker Studio 環境で利用できるようになります。

クリーンアップ

このセクションでは、SageMaker Studio ドメインの Spark UI を手動または自動でクリーンアップする方法を示します。

Spark UI を手動でアンインストールする

SageMaker Studio で Spark UI を手動でアンインストールするには、次の手順を実行します。

  1. 選択する システム端末 SageMaker Studio ランチャー内。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. システム端末で次のコマンドを実行します。
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

すべての SageMaker Studio ユーザー プロファイルの Spark UI を自動的にアンインストールする

SageMaker Studio ですべてのユーザー プロファイルの Spark UI を自動的にアンインストールするには、次の手順を実行します。

  1. SageMakerコンソールで、 ドメイン ナビゲーションペインで、SageMaker Studio ドメインを選択します。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. ドメインの詳細ページで、 環境 タブには何も表示されないことに注意してください。
  2. SageMaker Studio で Spark UI のライフサイクル構成を選択します。
  3. 選択する デタッチ.

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

  1. SageMaker Studio ユーザー プロファイルの Jupyter Server アプリを削除して再起動します。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

まとめ

この投稿では、SageMaker Studio に Spark UI をすばやくインストールするために使用できるソリューションを共有しました。 SageMaker でホストされる Spark UI を使用すると、機械学習 (ML) チームとデータ エンジニアリング チームは、スケーラブルなクラウド コンピューティングを使用して、どこからでも Spark ログにアクセスして分析し、プロジェクトの配信を迅速化できます。 IT 管理者は、クラウドでのソリューションのプロビジョニングを標準化して迅速化し、ML プロジェクト用のカスタム開発環境の急増を回避できます。

この投稿の一部として示されているすべてのコードは、 GitHubリポジトリ.


著者について

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.ジュゼッペアンジェロポルチェッリ アマゾン ウェブ サービスのプリンシパル機械学習スペシャリスト ソリューション アーキテクトです。 数年間のソフトウェア エンジニアリングと ML のバックグラウンドを持つ彼は、あらゆる規模の顧客と協力してビジネスと技術的なニーズを理解し、AWS クラウドと Amazon Machine Learning スタックを最大限に活用する AI および ML ソリューションを設計しています。 彼は、MLOps、コンピューター ビジョン、NLP など、幅広い AWS サービスを含むさまざまなドメインのプロジェクトに取り組んできました。 ジュゼッペは自由時間にはサッカーを楽しんでいます。

Host the Spark UI on Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.ブルーノ・ピストン ミラノを拠点とする AWS の AI/ML スペシャリスト ソリューション アーキテクトです。 彼はあらゆる規模の顧客と協力し、顧客が技術的なニーズを理解し、AWS クラウドと Amazon Machine Learning スタックを最大限に活用する AI および ML ソリューションを設計できるよう支援しています。 彼の専門分野には、機械学習のエンドツーエンド、機械学習の産業化、生成 AI が含まれます。 彼は、友達と時間を過ごしたり、新しい場所を探索したり、新しい目的地へ旅行したりすることを楽しんでいます。

タイムスタンプ:

より多くの AWS機械学習