設計図の開発のための前提条件
ブループリントを開発するには、AWS Glue と Apache Spark ETL ジョブや Python シェルジョブのスクリプト記述に関する知識が必要です。また、以下のセットアップタスクも完了する必要があります。
-
設計図レイアウトスクリプトで使用する 4 個の AWS Python ライブラリのダウンロード
-
AWS SDK のセットアップ。
-
AWS CLI のセットアップ。
Python ライブラリをダウンロードする
以下のライブラリを GitHub からダウンロードし、自分のプロジェクトにインストールします。
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/base_resource.py
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/workflow.py
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/crawler.py
-
https://github.com/awslabs/aws-glue-blueprint-libs/tree/master/awsglue/blueprint/job.py
AWS Java SDK のセットアップ
AWS Java SDK に対しては、設計図の API を含む jar
ファイルを追加する必要があります。
-
まだ追加していない場合には、AWS SDK for Java のセットアップを行います。
-
Java 1.x の場合は、「AWS SDK for Java デベロッパーガイド」の「AWS SDK for Java の入手方法」にある手順に従ってください。
-
Java 2.x の場合は、「AWS SDK for Java 2.x デベロッパーガイド」の「AWS SDK for Java 2.x のセットアップ」にある手順に従ってください。
-
-
設計図の 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
-
-
Java クラスパスの先頭にクライアント
jar
を追加して、AWS Java SDK で提供された AWS Glue クライアントをオーバーライドします。export CLASSPATH=<path-to-preview-client-jar>:$CLASSPATH
-
(オプション) 次の 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 以降が、コンピュ―タ上にインストールされていることを前提としています。
-
次の boto3 wheel ファイルをダウンロードします。ファイルを開くか保存することを促された場合は、次のファイルを保存します。s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/boto3-1.17.31-py2.py3-none-any.whl
-
次の botocore wheel ファイルをダウンロードします。s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/botocore-1.20.31-py2.py3-none-any.whl
-
使用している Python のバージョンを確認します。
python --version
-
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
-
-
botocore wheel ファイルをインストールします。
python3 -m pip install <download-directory>/botocore-1.20.31-py2.py3-none-any.whl
-
boto3 wheel ファイルをインストールします。
python3 -m pip install <download-directory>/boto3-1.17.31-py2.py3-none-any.whl
-
~/.aws/credentials
および~/.aws/config
ファイル内で、認証情報およびデフォルトのリージョンを指定します。詳細については、「AWS CLI ユーザーガイド」の「AWS Command Line Interface の設定。」を参照してください。 -
(オプション) セットアップをテストします。次のコマンドは、空のリストを返すように設定されています。
us-east-1
は、実際のリージョンに置き換えます。$ python >>> import boto3 >>> glue = boto3.client('glue', 'us-east-1') >>> glue.list_blueprints()
プレビュー AWS CLI をセットアップする
-
まだの場合は、コンピュータ上で AWS Command Line Interface (AWS CLI) のインストールおよび (または)更新を行ってください。この作業は、Python インストーラユーティリティの
pip
を使用することで、最も簡単に完了できます。pip install awscli --upgrade --user
AWS CLI を使用したインストールに関する完全な手順は、「nstalling the AWS Command Line Interface」でご確認いただけます。
-
次の AWS CLI wheel ファイルをダウンロードします。s3://awsglue-custom-blueprints-preview-artifacts/awscli-preview-build/awscli-1.19.31-py2.py3-none-any.whl
-
AWS CLI wheel ファイルをインストールする。
python3 -m pip install awscli-1.19.31-py2.py3-none-any.whl
-
aws configure
コマンドを実行します。AWS 認証情報 (アクセスキー、シークレットキーを含む) と AWS リージョンを設定します。AWS CLI の設定に関する情報は、「Configuring the AWS CLI」でご確認ください。 -
AWS CLI をテストします。次のコマンドは、空のリストを返すように設定されています。
us-east-1
は、実際のリージョンに置き換えます。aws glue list-blueprints --region us-east-1