設計図の開発のための前提条件 - AWS Glue

設計図の開発のための前提条件

ブループリントを開発するには、AWS Glue と Apache Spark ETL ジョブや Python シェルジョブのスクリプト記述に関する知識が必要です。また、以下のセットアップタスクも完了する必要があります。

  • 設計図レイアウトスクリプトで使用する 4 個の AWS Python ライブラリのダウンロード

  • AWS SDK のセットアップ。

  • AWS CLI のセットアップ。

Python ライブラリをダウンロードする

以下のライブラリを GitHub からダウンロードし、自分のプロジェクトにインストールします。

AWS Java SDK のセットアップ

AWS Java SDK に対しては、設計図の API を含む jar ファイルを追加する必要があります。

  1. まだ追加していない場合には、AWS SDK for Java のセットアップを行います。

  2. 設計図の API へのアクセス許可が付与されている、クライアント jar ファイルをダウンロードします。

    • Java 1.x 用ファイル: s3://awsglue-custom-blueprints-preview-artifacts/awsglue-java-sdk-preview/AWSGlueJavaClient-1.11.x.jar

    • Java 2.x 用ファイル: s3://awsglue-custom-blueprints-preview-artifacts/awsglue-java-sdk-v2-preview/AwsJavaSdk-Glue-2.0.jar

  3. Java クラスパスの先頭にクライアント jar を追加して、AWS Java SDK で提供された AWS Glue クライアントをオーバーライドします。

    export CLASSPATH=<path-to-preview-client-jar>:$CLASSPATH
  4. (オプション) 次の Java アプリケーションを使用して SDK をテストします。このアプリケーションは空のリストを出力するように設定されています。

    accessKey および secretKey は自分の認証情報に置き換え、us-east-1 は使用しているリージョンに置き換えます。

    import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.glue.AWSGlue; import com.amazonaws.services.glue.AWSGlueClientBuilder; import com.amazonaws.services.glue.model.ListBlueprintsRequest; public class App{ public static void main(String[] args) { AWSCredentials credentials = new BasicAWSCredentials("accessKey", "secretKey"); AWSCredentialsProvider provider = new AWSStaticCredentialsProvider(credentials); AWSGlue glue = AWSGlueClientBuilder.standard().withCredentials(provider) .withRegion("us-east-1").build(); ListBlueprintsRequest request = new ListBlueprintsRequest().withMaxResults(2); System.out.println(glue.listBlueprints(request)); } }

AWS Python SDK をセットアップする

次の手順では、Python バージョン 2.7 以降、またはバージョン 3.6 以降が、コンピュ―タ上にインストールされていることを前提としています。

  1. 次の boto3 wheel ファイルをダウンロードします。ファイルを開くか保存することを促された場合は、次のファイルを保存します。s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/boto3-1.17.31-py2.py3-none-any.whl

  2. 次の botocore wheel ファイルをダウンロードします。s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/botocore-1.20.31-py2.py3-none-any.whl

  3. 使用している Python のバージョンを確認します。

    python --version
  4. Python のバージョンに応じて、以下のコマンドを入力します (Linux の場合)。

    • Python 2.7 以降の場合。

      python3 -m pip install --user virtualenv source env/bin/activate
    • Python 3.6 以降の場合。

      python3 -m venv python-sdk-test source python-sdk-test/bin/activate
  5. botocore wheel ファイルをインストールします。

    python3 -m pip install <download-directory>/botocore-1.20.31-py2.py3-none-any.whl
  6. boto3 wheel ファイルをインストールします。

    python3 -m pip install <download-directory>/boto3-1.17.31-py2.py3-none-any.whl
  7. ~/.aws/credentials および ~/.aws/config ファイル内で、認証情報およびデフォルトのリージョンを指定します。詳細については、「AWS CLI ユーザーガイド」の「AWS Command Line Interface の設定。」を参照してください。

  8. (オプション) セットアップをテストします。次のコマンドは、空のリストを返すように設定されています。

    us-east-1 は、実際のリージョンに置き換えます。

    $ python >>> import boto3 >>> glue = boto3.client('glue', 'us-east-1') >>> glue.list_blueprints()

プレビュー AWS CLI をセットアップする

  1. まだの場合は、コンピュータ上で AWS Command Line Interface (AWS CLI) のインストールおよび (または)更新を行ってください。この作業は、Python インストーラユーティリティの pip を使用することで、最も簡単に完了できます。

    pip install awscli --upgrade --user

    AWS CLI を使用したインストールに関する完全な手順は、「nstalling the AWS Command Line Interface」でご確認いただけます。

  2. 次の AWS CLI wheel ファイルをダウンロードします。s3://awsglue-custom-blueprints-preview-artifacts/awscli-preview-build/awscli-1.19.31-py2.py3-none-any.whl

  3. AWS CLI wheel ファイルをインストールする。

    python3 -m pip install awscli-1.19.31-py2.py3-none-any.whl
  4. aws configure コマンドを実行します。AWS 認証情報 (アクセスキー、シークレットキーを含む) と AWS リージョンを設定します。AWS CLI の設定に関する情報は、「Configuring the AWS CLI」でご確認ください。

  5. AWS CLI をテストします。次のコマンドは、空のリストを返すように設定されています。

    us-east-1 は、実際のリージョンに置き換えます。

    aws glue list-blueprints --region us-east-1