Visualización de datos en PySpark con DataFrames

Fundamentos de big data con PySpark

Upendra Devisetty

Science Analyst, CyVerse

¿Qué es la visualización de datos?

  • La visualización representa tus datos en gráficos o diagramas

  • Herramientas open source para visualizar en Python:

    • Matplotlib, Seaborn, Bokeh, etc.
  • Hay tres formas de graficar DataFrames de PySpark

    • Biblioteca pyspark_dist_explore

    • toPandas()

    • Biblioteca HandySpark

Fundamentos de big data con PySpark

Visualización con Pyspark_dist_explore

  • La biblioteca Pyspark_dist_explore da insights rápidos de DataFrames

  • Actualmente hay tres funciones: hist(), distplot() y 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 con PySpark

Usar pandas para graficar DataFrames

  • Es fácil crear gráficos desde DataFrames de 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: con grandes volúmenes de datos, no se recomienda usar toPandas()
Fundamentos de big data con PySpark

Pandas DataFrame vs. PySpark DataFrame

  • Los DataFrames de pandas son en memoria y de un solo servidor; en PySpark las operaciones corren en paralelo

  • En pandas el resultado se genera al aplicar la operación; en PySpark hay evaluación perezosa

  • Los DataFrames de pandas son mutables; los de PySpark son inmutables

  • La API de pandas tiene más operaciones que la de PySpark DataFrame

Fundamentos de big data con PySpark

Visualización con HandySpark

  • HandySpark mejora la experiencia de uso de PySpark
    • Obtención de datos sencilla
    • Cómputo distribuido conservado
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
Fundamentos de big data con PySpark

Vamos a visualizar DataFrames

Fundamentos de big data con PySpark

Preparing Video For Download...