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.
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 lsPara rodas a imagem a partir de um containerm utilizei o seguinte comando:
docker run -it -p 8888:8888 Jupyter/all-spark-notebookCopiei a url para testar se o Jupyter estava funcionando corretamente
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 pysparkExecutei o container em modo iterativo, para entrar na linha de comando dele
docker exec -it frosty_hellman bashDentro 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 XXXXAbri 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.
Acessei o site do TMDB, e criei uma conta para obter a chave de acesso a API.
Utilizei o código disponibilizado para testar o funcionamento da API.









