Pré-requisitos para desenvolvimento de esquemas - AWS Glue

Pré-requisitos para desenvolvimento de esquemas

Para desenvolver esquemas, você deve ter familiaridade com o uso do AWS Glue e com a criação de scripts para trabalhos de ETL do Apache Spark ou trabalhos de shell do Python. Além disso, é necessário concluir as seguintes tarefas de configuração.

  • Baixe quatro bibliotecas Python da AWS para usar em seus scripts de layout de blueprint.

  • Configure os AWS SDKs.

  • Configure o AWS CLI.

Baixar bibliotecas Python

Baixe as seguintes bibliotecas do GitHub e instale-as em seu projeto:

Configurar o AWS Java SDK

Para o AWS Java SDK, você deve adicionar um arquivo jar que inclui a API para blueprints.

  1. Se você ainda não fez isso, configure o AWS SDK for Java.

  2. Baixe o arquivo de cliente jar que tem acesso às APIs para blueprints.

    • Para Java 1.x: s3://awsglue-custom-blueprints-preview-artifacts/awsglue-java-sdk-preview/AWSGlueJavaClient-1.11.x.jar

    • Para Java 2.x: s3://awsglue-custom-blueprints-preview-artifacts/awsglue-java-sdk-v2-preview/AwsJavaSdk-Glue-2.0.jar

  3. Adicione o cliente jar na frente do classpath Java para substituir o cliente do AWS Glue fornecido peloAWS Java SDK.

    export CLASSPATH=<path-to-preview-client-jar>:$CLASSPATH
  4. (Opcional) teste o SDK com a seguinte aplicação Java. A aplicação deve exibir uma lista vazia.

    Substitua accessKey e secretKey com suas credenciais e us-east-1 com a sua região.

    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)); } }

Configurar o AWS Python SDK

As seguintes etapas supõem que você tenha o Python versão 2.7 ou posterior, ou a versão 3.6 ou posterior, instalada no computador.

  1. Baixe o seguinte arquivo wheel do boto3. Se solicitado a abrir ou salvar, salve o arquivo. s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/boto3-1.17.31-py2.py3-none-any.whl

  2. Baixe o seguinte arquivo wheel do botocore: s3://awsglue-custom-blueprints-preview-artifacts/aws-python-sdk-preview/botocore-1.20.31-py2.py3-none-any.whl

  3. Verifique a versão do Python.

    python --version
  4. Dependendo da sua versão do Python, insira os seguintes comandos (para Linux):

    • Para Python 2.7 ou posterior.

      python3 -m pip install --user virtualenv source env/bin/activate
    • Para Python 3.6 ou posterior.

      python3 -m venv python-sdk-test source python-sdk-test/bin/activate
  5. Instale o arquivo wheel do botocore.

    python3 -m pip install <download-directory>/botocore-1.20.31-py2.py3-none-any.whl
  6. Instale o arquivo wheel do boto3.

    python3 -m pip install <download-directory>/boto3-1.17.31-py2.py3-none-any.whl
  7. Configure suas credenciais e a região padrão nos arquivos ~/.aws/credentials e ~/.aws/config. Para obter mais informações, consulte Configuração da AWS CLI no Guia do usuário da AWS Command Line Interface.

  8. (Opcional) teste a configuração. Os comandos a seguir devem retornar uma lista vazia.

    Substitua us-east-1 pela sua região.

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

Configurar a pré-visualização da AWS CLI

  1. Se você ainda o fez, instale e/ou atualize a AWS Command Line Interface (AWS CLI) em seu computador. A maneira mais fácil de fazer isso é com o pip, o utilitário de instalação do Python:

    pip install awscli --upgrade --user

    Você pode encontrar instruções completas de instalação da AWS CLI aqui: Instalar a AWS Command Line Interface.

  2. Baixe o arquivo wheel da AWS CLI em: s3://awsglue-custom-blueprints-preview-artifacts/awscli-preview-build/awscli-1.19.31-py2.py3-none-any.whl

  3. Instale o arquivo wheel da AWS CLI.

    python3 -m pip install awscli-1.19.31-py2.py3-none-any.whl
  4. Execute o comando aws configure. Configure as credenciais da AWS (incluindo chave de acesso e chave secreta) e a região da AWS. Você pode encontrar informações sobre a configuração da AWS CLI aqui: Configurar a AWS CLI.

  5. Teste a AWS CLI. O comando a seguir deve retornar uma lista vazia.

    Substitua us-east-1 pela sua região.

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