チュートリアル: 開発エンドポイントで Amazon SageMaker ノートブックを使用する - AWS Glue

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

チュートリアル: 開発エンドポイントで Amazon SageMaker ノートブックを使用する

AWS Glue では、開発エンドポイントを作成し、ETL および機械学習スクリプトの開発に役立つ SageMaker ノートブックを作成できます。SageMaker ノートブックは、Jupyter Notebook アプリケーションを実行しているフルマネージド型機械学習コンピューティングインスタンスです。

  1. AWS Glue コンソールで [Dev endpoints (開発エンドポイント)] を選択して、開発エンドポイントのリストに移動します。

  2. 使用する開発エンドポイントの名前の横にあるチェックボックスをオンにし、[アクション] メニューで [Create SageMaker notebook (SageMaker ノートブックの作成)] を選択します。

  3. [Create and configure a notebook (ノートブックの作成と設定)] ページに次のように入力します。

    1. ノートブック名を入力します。

    2. [Attach to development endpoint (開発エンドポイントにアタッチ] で、開発エンドポイントを確認します。

    3. AWS Identity and Access Management (IAM) ロールを作成または選択します。

      ロールを作成することをお勧めします。既存のロールを使用する場合は、必要な権限があることを確認します。(詳細については、ステップ 6: SageMaker ノートブック用に IAM ポリシーを作成する を参照してください)。

    4. (オプション) VPC、サブネット、および 1 つ以上のセキュリティグループを選択します。

    5. (オプション) AWS Key Management Service 暗号化キーを選択します。

    6. (オプション) ノートブックインスタンスのタグを追加します。

  4. [Create notebook (ノートブックの作成)] を選択します。[ノートブック] ページで、右上にある更新アイコンを選択し、[ステータス] に Ready と表示されるまで続行します。

  5. 新しいノートブック名の横にあるチェックボックスをオンにし、[ノートブックを開く] を選択します。

  6. 新しいノートブックを作成する: jupyter ページで [新規] を選択し、[Sparkmagic (PySpark)] を選択します。

    これで、画面は以下のようになります。

    
          jupyter ページには、メニューバー、ツールバー、およびステートメントを入力できる横長のテキストフィールドがあります。
  7. (オプション) ページの上部にある [Untitled (無題)] を選択し、ノートブックに名前を付けます。

  8. Spark アプリケーションを起動するには、次のコマンドをノートブックに入力し、ツールバーで [実行] を選択します。

    spark

    しばらくすると、次のようなレスポンスが表示されます。

    
          システムレスポンスには、Spark アプリケーションのステータスが示され、次のメッセージが出力されます: SparkSession available as 'spark'。
  9. 動的フレームを作成し、それに対してクエリを実行します。persons_json テーブルのカウントとスキーマを出力する次のコードをコピー、貼り付け、実行します。

    import sys from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.transforms import * glueContext = GlueContext(SparkContext.getOrCreate()) persons_DyF = glueContext.create_dynamic_frame.from_catalog(database="legislators", table_name="persons_json") print ("Count: ", persons_DyF.count()) persons_DyF.printSchema()