Skip to content

Latest commit

 

History

History
131 lines (73 loc) · 4.65 KB

File metadata and controls

131 lines (73 loc) · 4.65 KB

Resumo

Apache Hadoop: Aprendi sobre o fluxo de funcionamento do hadoop com MapReduce, e os casos em que o seu uso é vantajoso em relação ao Spark.

Apache Spark: Aprendi sobre o funcionamento do Spark e como ele difere para o Hadoop. Utilizei os comandos aprendidos no curso para realizar os exercícios dele e também o exercício contador de palavras.

AWS: Realizei o curso "Fundamentals of Analytics on AWS", que abranje os conceitos básicos de analytics, os 5V's do big data e os desafios do processamento de grandes volumes de dados. Também realizei o curso "Introduction to Amazon Athena", que oferece detalhes sobre o uso do serviço, com a criação de um banco de dados. O último curso foi o "Serverless Analytics", detalhando alguns serviços da AWS úteis para processamento e armazenamenmto de dados.

Exercícios

1- Apache Spark - Contador de palavras

🔗Código

🔗Evidências da execução

2- TMDB

🔗Código

🔗Evidências da execução

Evidências

Contador de palavras

Etapa 1 - Pull da imagem Jupyter/all-spark-notebook

Realizei o pull da imagem com o seguinte comando:

docker pull jupyter/all-spark-notebook 

Depois, listei as imagens para ver se estava baixada:

docker image ls

Etapa 2 - Criar um container a partir da imagem

Para rodas a imagem a partir de um containerm utilizei o seguinte comando:

docker run -it -p 8888:8888 Jupyter/all-spark-notebook

Copiei a url para testar se o Jupyter estava funcionando corretamente

Etapa 3 - Executar pyspark

Em outro terminal, pesquisei o nome do container que foi criado, e executei-o em modo iterativo, juntamente com o comando pyspark

docker exec -it frosty_hellman pyspark

Etapa 4 - Contar palavras do arquivo readme

Executei o container em modo iterativo, para entrar na linha de comando dele

docker exec -it frosty_hellman bash

Dentro do container, utilizei o comando wget para buscar e baixar o readme de apresentação do repositório do GitHub, com o nome do arquivo e a URL dele. Como o repositório é privado, passei junto com o comando um cabeçalho com o meu token de acesso ao GitHub.

wget --header="Authorization: token XXXX

Abri novamente o terminal do pyspark do container, e realizei a contagem de palavras do arquivo, com o seguinte código:

arquivo = spark.read.text("README.md")

contagem = arquivo.selectExpr("explode(split(lower(value), ' ')) as palavra") \
                 .groupBy("palavra") \
                 .count() \
                 .orderBy("count", ascending=False)

contagem.show(999)

O arquivo é lido e salvo no Dataframe arquivo. A função lower() converte o texto para minúsculo. A função split() divide as linhas em palavras, delimitando pelo espaço (' '). A função explode() expande a lista resultante, criando uma nova linha para cada palavra. O metodo groupBy() juntamente com o método count() fazem a contagem e o agrupamento de cada palavra. Por fim, o método orderBy() ordena pela frequência de palavras de forma decrescente. O resultado é salvo no dataframe contagem, que é mostrado na tela com o método show(), com o parâmetro 999 para não limitar em 20.


TMDB

Etapa 1 - Criar conta

Acessei o site do TMDB, e criei uma conta para obter a chave de acesso a API.

Etapa 2 - Testar API

Utilizei o código disponibilizado para testar o funcionamento da API.

Certificados

Certificados dos cursos AWS