Введение в Spark DataFrame

Можно сказать, что искровой фрейм данных является распределенным сбором данных, который организован в именованные столбцы, а также используется для обеспечения таких операций, как фильтрация, вычисление агрегации, группирование, а также может использоваться с Spark SQL. Фреймы данных могут быть созданы с использованием файлов структурированных данных, наряду с существующими RDD, внешними базами данных и таблицами Hive. Он в основном называется и известен как уровень абстракции, который построен поверх RDD, а также сопровождается API набора данных, который был представлен в более поздних версиях Spark (2.0+). Более того, наборы данных были введены не в Pyspark, а только в Scala с Spark, но это не относится к Dataframes. Фреймы данных, обычно известные как DF, представляют собой логические столбчатые форматы, которые делают работу с RDD более простой и удобной, а также используют те же функции, что и RDD, таким же образом. Если вы говорите больше на концептуальном уровне, это эквивалентно реляционным таблицам вместе с хорошими функциями и методами оптимизации.

Как создать DataFrame?

Фрейм данных обычно создается любым из упомянутых методов. Он может быть создан с использованием таблиц Hive, внешних баз данных, файлов структурированных данных или даже в случае существующих RDD. Все эти способы могут создавать эти именованные столбцы, известные как Dataframes, используемые для обработки в Apache Spark. Используя приложения SQLContext или SparkSession, можно создавать Dataframes.

Spark DataFrames Операции

В Spark фрейм данных - это распределение и сбор организованной формы данных в именованные столбцы, что эквивалентно реляционной базе данных или схеме или фрейму данных на языке, таком как R или python, но наряду с более высоким уровнем оптимизации быть использованным. Он используется для предоставления языка определенного домена, который можно использовать для манипулирования структурированными данными.

Ниже приведены некоторые основные операции структурированной обработки данных с использованием фреймов данных.

1. Чтение документа, который имеет тип: JSON: Мы будем использовать команду sqlContext.read.json.

Пример: предположим, что наше имя файла - student.json, тогда наш фрагмент кода будет выглядеть так:
val dfs= sqlContext.read.json(“student.json”)

Вывод: в этом случае вывод будет состоять в том, что имена полей будут автоматически взяты из файла student.json.

2. Отображение данных: чтобы увидеть данные во фреймах данных Spark, вам нужно использовать команду:
dfs.show ()

Пример: предположим, что наше имя файла - student.json, тогда наш фрагмент кода будет выглядеть так:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Вывод: данные об ученике будут представлены вам в табличном формате.

3. Использование метода printSchema: если вам интересно увидеть структуру, то есть схему фрейма данных, используйте следующую команду: dfs.printSchema ()

Пример: предположим, что наше имя файла - student.json, тогда наш фрагмент кода будет выглядеть так:

val dfs= sqlContext.read.json(“student.json”)
dfs. printSchema ()

Вывод: структура или схема будут вам представлены

4. Используйте метод выбора. Чтобы использовать метод выбора, для извлечения имен и столбцов из списка фреймов данных будет использоваться следующая команда.
dfs.select ( «имя-столбца»). показать ()

Пример: предположим, что наше имя файла - student.json, тогда наш фрагмент кода будет выглядеть так:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Вывод: можно увидеть значения столбца имени.

5. Использование фильтра Возраст: следующую команду можно использовать для определения диапазона учащихся, возраст которых превышает 23 года.
dfs.filter (dfs («имя-столбца»)> значение) .show ()

Пример: предположим, что наше имя файла - student.json, тогда наш фрагмент кода будет выглядеть так:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Вывод: отфильтрованный возраст больше 23 появится в результатах.

6. Использование метода groupBy: для подсчета количества учеников одного возраста можно использовать следующий метод.
dfs.groupBy ( «имя-столбца»). Count (). показать ()

Пример: предположим, что наше имя файла - student.json, тогда наш фрагмент кода будет выглядеть так:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. Использование функции SQL в SparkSession, которая позволяет приложению программно выполнять запросы типа SQL и, следовательно, возвращает результат в виде фрейма данных.
spark.sql (запрос)

Пример: Предположим, что мы должны зарегистрировать фрейм данных SQL как временное представление:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Выходные данные: будет создано временное представление с именем ученика, а поверх него будет применен spark.sql, чтобы преобразовать его в фрейм данных.

8. Использование функции SQL во временном представлении Spark Session for Global: Это позволяет приложению программно выполнять запросы типа SQL и, следовательно, возвращает результат в виде фрейма данных.
spark.sql (запрос)

Пример: Предположим, что мы должны зарегистрировать фрейм данных SQL как временное представление:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Выходные данные: будет создано временное представление с именем ученика, а поверх него будет применен spark.sql, чтобы преобразовать его в фрейм данных.

Преимущества Spark DataFrame

  1. Фрейм данных является распределенной коллекцией данных, и поэтому данные организованы в виде именованных столбцов.
  2. Они более или менее похожи на таблицы в случае реляционных баз данных и имеют богатый набор оптимизации.
  3. Фреймы данных используются для расширения возможностей запросов, написанных на SQL, а также API фреймов данных.
  4. Он может использоваться для обработки как структурированных, так и неструктурированных данных.
  5. Использование оптимизатора катализатора делает оптимизацию легкой и эффективной.
  6. Библиотеки присутствуют на многих языках, таких как Python, Scala, Java и R.
  7. Это используется для обеспечения сильной совместимости с Hive и используется для запуска неизмененных запросов Hive на уже существующем хранилище Hive.
  8. Он может очень хорошо масштабироваться от нескольких килобайт в персональной системе до многих петабайт в больших кластерах.
  9. Он используется для обеспечения простого уровня интеграции с другими технологиями и платформами больших данных.
  10. Абстракция, которую они предоставляют RDD, эффективна и ускоряет обработку.

Вывод - Spark DataFrame

В этом посте вы узнали о очень важной функции Apache Spark - фреймах данных и их использовании в приложениях, работающих сегодня, а также об операциях и преимуществах. Надеюсь, вам понравилась наша статья. Оставайтесь с нами, чтобы узнать больше о подобных вещах.

Рекомендуемые статьи

Это было руководство по Spark DataFrame. Здесь мы обсудим, как создать DataFrame? его преимущества и различные операции DataFrames наряду с соответствующим примером кода. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Spark Streaming
  2. Как установить Spark
  3. Карьера в Искре
  4. Спарк Интервью Вопросы
  5. Фреймы данных в R
  6. 7 различных типов объединений в Spark SQL (примеры)
  7. PySpark SQL | Модули и методы PySpark SQL
  8. Spark Компоненты | Обзор компонентов Spark