Візуалізація даних у PySpark за допомогою DataFrame

Основи Big Data з PySpark

Upendra Devisetty

Science Analyst, CyVerse

Що таке візуалізація даних?

  • Візуалізація даних — це подання даних у вигляді графіків або діаграм

  • Open-source інструменти для візуалізації в Python:

    • Matplotlib, Seaborn, Bokeh тощо
  • Побудова графіків із PySpark DataFrame здійснюється трьома способами

    • бібліотека pyspark_dist_explore

    • toPandas()

    • бібліотека HandySpark

Основи Big Data з PySpark

Візуалізація даних за допомогою Pyspark_dist_explore

  • Бібліотека Pyspark_dist_explore швидко дає уявлення про DataFrame

  • Нині доступні три функції: hist(), distplot(), і 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")
Основи Big Data з PySpark

Використання Pandas для побудови графіків із DataFrame

  • Створювати діаграми з pandas DataFrame легко
test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_sample_pandas = test_df.toPandas()
test_df_sample_pandas.hist('Age')
  • Примітка: для великих обсягів даних використовувати toPandas() не рекомендовано
Основи Big Data з PySpark

Pandas DataFrame проти PySpark DataFrame

  • Pandas DataFrame — це структурa в пам'яті на одному сервері, а операції в PySpark виконуються паралельно

  • У Pandas результат обчислюється одразу, тоді як у PySpark DataFrame діє «ледаче» обчислення

  • Pandas DataFrame — змінні, а PySpark DataFrame — незмінні

  • API Pandas підтримує більше операцій, ніж API PySpark DataFrame

Основи Big Data з PySpark

Метод візуалізації HandySpark

  • HandySpark — це пакет, створений для покращення роботи з PySpark
    • Просте отримання даних
    • Зберігається розподілене обчислення
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
Основи Big Data з PySpark

Давайте візуалізуємо DataFrame

Основи Big Data з PySpark

Preparing Video For Download...