Visualizzazione dei dati in PySpark con i DataFrame

Fondamenti di Big Data con PySpark

Upendra Devisetty

Science Analyst, CyVerse

Che cos'è la data visualization?

  • La data visualization rappresenta i dati con grafici o diagrammi

  • Strumenti open source per la visualizzazione in Python:

    • Matplotlib, Seaborn, Bokeh ecc.
  • Con PySpark puoi tracciare grafici dai DataFrame in tre modi

    • Libreria pyspark_dist_explore

    • toPandas()

    • Libreria HandySpark

Fondamenti di Big Data con PySpark

Visualizzazione con Pyspark_dist_explore

  • La libreria Pyspark_dist_explore offre insight rapidi sui DataFrame

  • Attualmente disponibili tre funzioni: 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")
Fondamenti di Big Data con PySpark

Usare Pandas per tracciare grafici dai DataFrame

  • Creare grafici dai DataFrame pandas è semplice
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 grandi volumi di dati, usare toPandas() non è consigliato
Fondamenti di Big Data con PySpark

DataFrame pandas vs DataFrame PySpark

  • I DataFrame pandas sono strutture in memoria su un singolo server; in PySpark le operazioni sono parallele

  • In pandas il risultato si genera subito; sui DataFrame PySpark c'è valutazione lazy

  • I DataFrame pandas sono mutabili, quelli PySpark immutabili

  • Le API di pandas supportano più operazioni rispetto alle API dei DataFrame PySpark

Fondamenti di Big Data con PySpark

Visualizzazione con HandySpark

  • HandySpark è un pacchetto pensato per migliorare l'esperienza d'uso di PySpark
    • Recupero dati semplice
    • Computazione distribuita mantenuta
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
Fondamenti di Big Data con PySpark

Visualizziamo i DataFrame

Fondamenti di Big Data con PySpark

Preparing Video For Download...