- Provisione o RDS PostgreSQL na AWS conforme abordado em aula.
- Crie um banco de dados, por exemplo: coins
- Configure o arquivo model.py com o nome da tabela a ser criada, exemplo: tb_coins.
- Edite variável
db_string
com o endpoint do RDS na AWS. - Altere o arquivo app.py inserindo a chave da api como argumento da função get_data (key)
- Execute a aplicação para consumo da API e persistência no banco de dados.
-
Suba o Amazon EMR.
-
Navegue até o diretório
processing
-
Copie a aplicação para o servidor usando o comando
scp
, exemplo:
scp -i ~/Downloads/pair-bootcamp.pem job-spark-app-emr-redshift.py hadoop@ec2-54-90-3-194.compute-1.amazonaws.com:/home/hadoop/
- Conecte no servidor master usando
ssh
, exemplo:
ssh -i ~/Downloads/pair-bootcamp.pem hadoop@ec2-54-90-3-194.compute-1.amazonaws.com
Obs: Antes de executar a aplicação verifique se o redshift está iniciado, caso não esteja edite a aplicação alterando a variável flag_write_redshift
para false.
- Execute o comando spark-submit, exemplo:
spark-submit --packages io.delta:delta-core_2.12:2.0.0 --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog" --jars /usr/share/aws/redshift/jdbc/RedshiftJDBC.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-redshift.jar,/usr/share/aws/redshift/spark-redshift/lib/spark-avro.jar,/usr/share/aws/redshift/spark-redshift/lib/minimal-json.jar job-spark-app-emr-redshift.py
-
Navegue até o diretório
Terraform
-
Instale o aplicativo
terraform
-
Instale o aplicativo
aws-cli
. Veja esse link: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html -
Autentique na AWS com o comando:
aws configure
-
Antes de provisionar os recursos crie o backend para usar como backend e a tabela no Dynamodb.
-
Edite os arquivos terraform.tfvars e variables.tf com as informações da sua infraestrutura.
-
Provisione os recursos com os comandos:
Provisione os recursos com o comando:
terraform init>
terraform plan>
terraform apply>
- Copie a aplicação para o servidor usando o comando
scp
, exemplo: