Link

Pandas join, merge e concat.

O Pandas é uma das bibliotecas Python mais poderosa para trabalhar com análise e tratamento de dados.

Uma das capacidades que o Pandas tem de poderoso é combinar informações de fontes de dados diferentes para cruzamento de dados.

Para isso, o Pandas tem os seguintes métodos: join, merge e concat.

Neste pequeno tutorial vamos mostrar como cruzar 2 DataFrames diferentes utilizando os métodos ditos.

O método join e o merge são similares na questão de juntar 2 colunas, a diferença estará somente no modo de operação, já o concat permite juntar tanto colunas como linhas.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/2022/pandas.html.

Apache Spark.

Processar uma grande massa de dados para extrair informações e armazenar como acontece em sistemas de Big Data pode ficar mais simples com a ajuda do Apache Spark.

O Apache Spark é uma ferramenta para Big Data que facilita esse trabalho com a proposta de ser bem rápida e eficaz.

A ferramenta também é bem flexível, ele pode ser executada em linguagens como Java, Scala, Clojure, R e Python.

Uma grande vantagem em utilizar o Spark em vez de outras ferramentas Big Data como Hadoop é a possibilidade de integrar ferramentas como:

  • Spark SQL: criando a capacidade de fazer consultas SQL sobre os dados;
  • Spark MLlib: onde possibilitamos criar uma capacidade de aprendizado de máquina para criação, filtragem e redução de dados;
  • Spark GraphX: Adiciona a capacidade de computação baseada em grafos e paralelas;
  • Spark Streaming: Possibilita o processamento de dados via stream em tempo real.

Uma característica do Apache Spark é evitar o deslocamento dos dados durante o processamento, movendo os dados para uma memória fazendo uma otimização no tempo de processamento.

Testes com Spark e Python.

O pré requisito para instalação é ter instalado na máquina um Python com a versão maior que 2.7 e o Pip.

Para instalar a PySpark digite no terminal:
$pip install pyspark

Vamos fazer alguns testes de mapeamento e transformação de dados com Apache Spark e Python.

Crie um arquivo com o texto abaixo e grave como “sucesso.txt” :

O sucesso é construído à noite! Durante o dia você faz o que todos fazem. Não conheço ninguém que conseguiu realizar seu sonho sem sacrificar feriados e domingos pelo menos uma centena de vezes.

Da mesma forma, se você quiser construir uma relação amiga com seus filhos, terá que se dedicar a isso, superar o cansaço, arrumar tempo para ficar com eles, deixar de lado o orgulho e o comodismo.

Se quiser um casamento gratificante, terá que investir tempo, energia e sentimentos nesse objetivo.

O sucesso é construído à noite! Durante o dia você faz o que todos fazem. Mas, para obter resultado diferente da maioria, você tem que ser especial. Se fizer igual a todo mundo, obterá os mesmos resultados.

Não se compare à maioria, pois infelizmente ela não é modelo de sucesso. Se você quiser atingir uma meta especial, terá que estudar no horário em que os outros estão tomando chope com batatas fritas. Terá de planejar, enquanto os outros permanecem à frente da televisão. Terá de trabalhar enquanto os outros tomam sol à beira da piscina.

A realização de um sonho depende de dedicação. Há muita gente que espera que o sonho se realize por mágica. Mas toda mágica é ilusão. A ilusão não tira ninguém de onde está. Ilusão é combustível de perdedores.

“Quem quer fazer alguma coisa, encontra um meio. Quem não quer fazer nada, encontra uma desculpa.”

(Roberto Shinyashiki)

Vamos importar o Apache Spark:
>>> import pyspark
>>> from pyspark import SparkContext
>>> sc = SparkContext()

Vamos carregar o texto em uma variável:
>>> sucessoRDD = sc.textFile("sucesso.txt")

Agora vamos conferir se o texto foi carregado:
>>> sucessoRDD.collect()

Vamos capturar o primeiro parágrafo:
>>> sucessoRDD.first()

Vamos capturar as 5 primeiras frases:
>>> sucessoRDD.take(5)

Vamos fazer uma transformação, separando cada palavra e armazenando em uma variável:
>>> flatMappedConfusion = sucessoRDD.flatMap(lambda line : line.split(" "))
>>> flatMappedConfusion.take(5)

Vamos contar o número de palavras:
>>> flatMappedConfusion.count()

Conclusão.

Com Apache Spark, trabalhos de coleta e processamento de dados ficam bem mais simples e rápido pois além de eficiente, o Spark tornam as tarefas muito mais rápidas e simples de implementar.