Visualização de dados no PySpark com DataFrames

Fundamentos de Big Data com PySpark

Upendra Devisetty

Science Analyst, CyVerse

O que é visualização de dados?

  • Visualização de dados representa seus dados em gráficos ou tabelas

  • Ferramentas open source para plotar em Python:

    • Matplotlib, Seaborn, Bokeh etc.
  • Três jeitos de plotar com PySpark DataFrames

    • biblioteca pyspark_dist_explore

    • toPandas()

    • biblioteca HandySpark

Fundamentos de Big Data com PySpark

Visualização com Pyspark_dist_explore

  • A biblioteca Pyspark_dist_explore dá insights rápidos sobre DataFrames

  • Três funções disponíveis: hist(), distplot() e pandas_histogram()

test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_age = test_df.select('Age')
hist(test_df_age, bins=20, color="red")
Fundamentos de Big Data com PySpark

Usando pandas para plotar DataFrames

  • É fácil criar gráficos a partir de DataFrames do pandas
test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_sample_pandas = test_df.toPandas()
test_df_sample_pandas.hist('Age')
  • Nota: com muitos dados, não é recomendado usar toPandas()
Fundamentos de Big Data com PySpark

Pandas DataFrame vs PySpark DataFrame

  • DataFrames do pandas ficam em memória, em um único servidor; operações no PySpark rodam em paralelo

  • Em pandas, o resultado sai assim que aplicamos a operação; no PySpark há avaliação preguiçosa (lazy)

  • DataFrame do pandas é mutável; PySpark DataFrames são imutáveis

  • A API do pandas tem mais operações que a API de DataFrame do PySpark

Fundamentos de Big Data com PySpark

Visualização com HandySpark

  • HandySpark é um pacote feito para melhorar a experiência no PySpark
    • Busca de dados fácil
    • Computação distribuída mantida
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
Fundamentos de Big Data com PySpark

Vamos visualizar DataFrames

Fundamentos de Big Data com PySpark

Preparing Video For Download...