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:
-
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
Configurar o AWS Java SDK
Para o AWS Java SDK, você deve adicionar um arquivo jar
que inclui a API para blueprints.
-
Se você ainda não fez isso, configure o AWS SDK for Java.
-
Para Java 1.x, siga as instruções em Configurar o AWS SDK for Java no Guia do desenvolvedor do AWS SDK for Java.
-
Para Java 2.x, siga as instruções em Configurar o AWS SDK for Java 2.x no Guia do desenvolvedor do AWS SDK for Java 2.x.
-
-
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
-
-
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
-
(Opcional) teste o SDK com a seguinte aplicação Java. A aplicação deve exibir uma lista vazia.
Substitua
accessKey
esecretKey
com suas credenciais eus-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.
-
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
-
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
-
Verifique a versão do Python.
python --version
-
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
-
-
Instale o arquivo wheel do botocore.
python3 -m pip install <download-directory>/botocore-1.20.31-py2.py3-none-any.whl
-
Instale o arquivo wheel do boto3.
python3 -m pip install <download-directory>/boto3-1.17.31-py2.py3-none-any.whl
-
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. -
(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
-
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.
-
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
-
Instale o arquivo wheel da AWS CLI.
python3 -m pip install awscli-1.19.31-py2.py3-none-any.whl
-
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. -
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