Datenvisualisierung in PySpark mit DataFrames

Grundlagen von Big Data mit PySpark

Upendra Devisetty

Science Analyst, CyVerse

Was ist Datenvisualisierung?

  • Datenvisualisierung stellt Daten in Grafiken oder Diagrammen dar

  • Open-Source-Plot-Tools für Python:

    • Matplotlib, Seaborn, Bokeh etc.
  • Diagramme mit PySpark-DataFrames auf drei Arten

    • pyspark_dist_explore-Bibliothek

    • toPandas()

    • HandySpark-Bibliothek

Grundlagen von Big Data mit PySpark

Datenvisualisierung mit Pyspark_dist_explore

  • Die Bibliothek Pyspark_dist_explore liefert schnelle Einblicke in DataFrames

  • Aktuell verfügbar: hist(), distplot() und 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")
Grundlagen von Big Data mit PySpark

Plotten mit Pandas-DataFrames

  • Aus pandas-DataFrames lassen sich leicht Charts erstellen
test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_sample_pandas = test_df.toPandas()
test_df_sample_pandas.hist('Age')
  • Hinweis: Bei großen Datenmengen ist toPandas() nicht empfohlen
Grundlagen von Big Data mit PySpark

Pandas- vs. PySpark-DataFrame

  • Pandas-DataFrames sind In-Memory, auf einem Server; PySpark-Operationen laufen parallel

  • In Pandas wird das Ergebnis sofort berechnet; in PySpark sind DataFrame-Operationen lazy

  • Pandas-DataFrames sind veränderlich, PySpark-DataFrames unveränderlich

  • Die Pandas-API bietet mehr Funktionen als die PySpark-DataFrame-API

Grundlagen von Big Data mit PySpark

Visualisieren mit HandySpark

  • HandySpark ist ein Paket zur Verbesserung der PySpark-User Experience
    • Einfaches Datenholen
    • Verteilte Berechnung bleibt erhalten
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
Grundlagen von Big Data mit PySpark

DataFrames visualisieren

Grundlagen von Big Data mit PySpark

Preparing Video For Download...