Введение в 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
- Фрейм данных является распределенной коллекцией данных, и поэтому данные организованы в виде именованных столбцов.
- Они более или менее похожи на таблицы в случае реляционных баз данных и имеют богатый набор оптимизации.
- Фреймы данных используются для расширения возможностей запросов, написанных на SQL, а также API фреймов данных.
- Он может использоваться для обработки как структурированных, так и неструктурированных данных.
- Использование оптимизатора катализатора делает оптимизацию легкой и эффективной.
- Библиотеки присутствуют на многих языках, таких как Python, Scala, Java и R.
- Это используется для обеспечения сильной совместимости с Hive и используется для запуска неизмененных запросов Hive на уже существующем хранилище Hive.
- Он может очень хорошо масштабироваться от нескольких килобайт в персональной системе до многих петабайт в больших кластерах.
- Он используется для обеспечения простого уровня интеграции с другими технологиями и платформами больших данных.
- Абстракция, которую они предоставляют RDD, эффективна и ускоряет обработку.
Вывод - Spark DataFrame
В этом посте вы узнали о очень важной функции Apache Spark - фреймах данных и их использовании в приложениях, работающих сегодня, а также об операциях и преимуществах. Надеюсь, вам понравилась наша статья. Оставайтесь с нами, чтобы узнать больше о подобных вещах.
Рекомендуемые статьи
Это было руководство по Spark DataFrame. Здесь мы обсудим, как создать DataFrame? его преимущества и различные операции DataFrames наряду с соответствующим примером кода. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Spark Streaming
- Как установить Spark
- Карьера в Искре
- Спарк Интервью Вопросы
- Фреймы данных в R
- 7 различных типов объединений в Spark SQL (примеры)
- PySpark SQL | Модули и методы PySpark SQL
- Spark Компоненты | Обзор компонентов Spark