開發藍圖的先決條件 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

開發藍圖的先決條件

若想開發藍圖,您應先熟悉如何使用 AWS Glue 以及為 Apache Spark ETL 任務或 Python Shell 任務編寫指令碼。此外,您也必須完成下列設定任務。

  • 下載四個 AWS Python 程式庫以用在藍圖配置指令碼中。

  • 設定 AWS 開發套件。

  • 設定 AWS CLI。

下載 Python 程式庫

從 GitHub 下載以下程式庫,並將它們安裝到您的專案中:

設定 AWS Java SDK

對於 AWS Java 開發套件,您必須新增 jar 檔案,其中包含藍圖的 API。

  1. 如果您尚未這麼做,請先設定適用於 Java 的 AWS 開發套件。

  2. 下載用戶端 jar 檔案,該檔案可以存取藍圖的 API。

    • 對於 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. 新增用戶端 jar 到 Java classpath 的前面以覆寫 AWS Java 開發套件提供的 AWS Glue 用戶端。

    export CLASSPATH=<path-to-preview-client-jar>:$CLASSPATH
  4. (選用) 使用下列 Java 應用程式測試開發套件。應用程式應輸出空的清單。

    使用您的憑證取代 accessKeysecretKey,並用您的區域取代 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 Command Line Interface 使用者指南中的設定 AWS CLI

  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)。執行此動作最簡單的方法是使用 pip (Python 安裝程式公用程式):

    pip install awscli --upgrade --user

    您可以在這裡找到 AWS CLI 的完整安裝指示:安裝 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 的資訊:設定 AWS CLI

  5. 測試 AWS CLI。以下命令應會傳回空的清單。

    us-east-1 取代為您的區域。

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