Novo Animal no Zoológico de Big Data — Koalas

Luan Moreno M. Maciel
Engenharia de Dados Academy
4 min readMay 9, 2019

Trazendo a força do Pandas para o Apache Spark de forma escalável

Introdução

Para todos os amantes de Pandas, essa notícia é de fato extremamente útil, sabemos que o Apache Spark é o produto mais utilizado do mercado de Big Data atualmente, não somente pela facilidade de se poder escrever em várias linguagens de programação mas também pela biblioteca escalável de Machine Learning (ML), isso faz com que “Data Scientists” adotem essa plataforma cada dia mais.

Porém, para quem realmente trabalha com Python sabe que é indispensável a utilização das bibliotecas Numpy e Pandas e quando se é necessário mover o código escrito em Pandas para PySpark DataFrame (Apache Spark) pode ser um pouco doloroso.

Pandas

Pandas é de fato a biblioteca mais utilizada no ecossistema de Python principalmente para “Data Scientists” pela facilidade de se fazer “Data Wrangling” ou seja, analizar os dados e tratá-los para se colocar em um modelo para assim realizar o tão desejado Machine Learning (ML).

Porém, o Pandas não escala muito bem e para cenários de Big Data isso é um requisito básico, por isso é mais comum se ver “Data Engineers” utilizando Scala para a criação de Data Pipelines do que Python.

O Apache Spark está em mais de 90% da Fortune 500 e é a ferramenta mais utilizada para Data Scientists pela facilidade de utilização, não somente permite você escrever em Python mas também em SQL, R, Java e Scala.

E as possibilidades não param por ai, além disso, você pode processar data em Batch e em Real-Time, utilizar Grafos e ter acesso a biblioteca de ML do Spark de forma escalável tudo dentro da mesma plataforma.

PySpark

O PySpark é uma API dentro do Apache Spark para se trabalhar com Python e faz com que todo o processamento dos dados possam escalar linearmente, isso é fantástico porque agora você tem em suas mãos a possibilidade de escrever Python para processar TB de dados, porém devido a utilização massiva do Pandas a transição pode gerar um pouco de fricção e aumentar consideravelmente o tempo de transposição do código.

Koalas

Sabendo disso, a empresa que mais acelera o Apache Spark Open-Source (Databricks) resolveu endereçar esse problema trazendo mais um animal para o zoológico, conheçam o Koalas!

O projeto Koalas foi criado para fazer com que o Pandas se torne escalável no Apache Spark, para que não se tenha mais a necessidade de transformar o código escrito em Pandas para PySpark, agora você simplesmente pode usar o mesmo código que escreveu no seu laptop e trazê-lo para o Apache Spark importando somente uma biblioteca, isso remove a fricção e traz diversos Data Scientists que tinham medo de trabalhar com Big Data com Python em um ambiente com TB de dados.

Koalas no Azure Databricks

Antes de “soltar” o Koalas no Azure Databricks, aqui está algumas coisas que você realmente precisa saber:

Configuração do Cluster no Azure Databricks

- Spark 2.4
- Python 3.5+
- Pandas 0.23
- Numpy 1.14
- PyArrow
- Koalas

Apache Spark 2.4 e Python 3 (Instalação do Cluster)
Instalação das Bibliotecas para o Koalas

Comparando Pandas vs. PySpark vs. Koalas no Azure Databricks

Ver a tecnologia evoluindo diante dos seus olhos é algo que me deixa realmente “speechless”, acho que nada melhor do que fotos para mostrar do que realmente estou falando.

Entendam que agora você pode simplesmente mover seu código escrito em Pandas para o Apache Spark e escalar mais rápido do que o próprio PySpark, inacreditável isso!

[Pandas] = 638.458 registros em 7.53 segundos
[PySpark] = 638.458 registros em 2.13 segundos
[Koalas] = 638.458 registros em 1.73 segundos

Se quiser ter acesso ao notebook do Azure Databricks e o DataSet para testar acesse aqui

Mas e o acesso ao Azure Databricks consigo? sim, o Microsoft Azure disponibiliza uma versão FREE TRIAl legal né? acesse aqui

Wrapping Up

Estar antenado com o que está acontencendo no mundo de dados é essencial para você que deseja ser um diferencial dentro da sua empresa ou trabalhar fora do País, talvez até dentro da sua casa como eu!

Confira o único curso do Brasil em Azure Databricks e entenda não somente como usar o Koalas mas também a processar TB de dados e criar um Data Pipeline para sua empresa https://www.sympla.com.br/data-science-no-azure-databricks__455723

Se gostou do artigo, bate palma ai e compartilha!

--

--