Вступ до Spark DataFrame

Кадром іскрових даних можна сказати, що це розподілений збір даних, який організований у названі стовпці, а також використовується для забезпечення таких операцій, як фільтрація, обчислення агрегацій, групування, а також може використовуватися з Spark SQL. Кадри даних можна створити, використовуючи структуровані файли даних, поряд із існуючими RDD, зовнішніми базами даних та таблицями вуликів. Її в основному називають шаром абстракції, який будується поверх RDD, а також слід API API набору даних, який був представлений у пізніших версіях Spark (2.0 +). Більше того, набори даних не були введені в Pyspark, а лише у Scala з Spark, але це не було у випадку Dataframes. Кадри даних, широко відомі як DF, - це логічні формати стовпців, які роблять роботу з RDD простішою та зручнішою, а також використовують ті ж функції, що і RDD. Якщо говорити більше на концептуальному рівні, це рівнозначно реляційним таблицям поряд з хорошими оптимізаційними функціями та прийомами.

Як створити DataFrame?

Кадр даних, як правило, створюється будь-яким із згаданих методів. Його можна створити, використовуючи таблиці Hive, зовнішні бази даних, Структуровані файли даних або навіть у випадку існуючих RDD. Ці всі способи можуть створити ці названі стовпці, відомі як Dataframes, що використовуються для обробки в Apache Spark. Використовуючи додатки SQLContext або SparkSession, можна використовувати для створення фреймів даних.

Іскрові операції DataFrames

У Spark фрейм даних - це розподіл та збір організованої форми даних у названі стовпці, що еквівалентно реляційній базі даних або схемі або кадру даних мовою, такою як R або python, але разом із більш багатим рівнем оптимізацій бути використаним. Він використовується для надання конкретного доменного типу мови, який може бути використаний для маніпулювання структурованими даними.

Нижче згадані деякі основні операції обробки структурованих даних за допомогою Dataframes.

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. Використовуйте метод select: Для використання методу select для отримання назв та стовпців зі списку кадрів даних буде використана наступна команда.
dfs.select ("ім'я стовпця"). show ()

Приклад: Припустимо, наше ім'я файлу є 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 (). show ()

Приклад: Припустимо, наше ім'я файлу є 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 під час іскрової сесії для глобального тимчасового подання: Це дає змогу програмі виконувати запити типу 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. Це використовується для забезпечення міцної сумісності з вуликом і використовується для запуску немодифікованих запитів на вулик на вже наявному складі вулика.
  8. Він може дуже масштабувати прямо від кількох кілограмів в персональній системі до багатьох петабайт на великих кластерах.
  9. Він використовується для забезпечення легкого рівня інтеграції з іншими технологіями та рамками великих даних.
  10. Абстракція, яку вони надають RDD, є ефективною та робить обробку швидшою.

Висновок - Spark DataFrame

У цій публікації ви дізналися про дуже важливу особливість Apache Spark - це фрейми даних та його використання в додатках, що працюють сьогодні, а також операції та переваги. Сподіваюся, вам сподобалась наша стаття. Слідкуйте за новими подібними.

Рекомендовані статті

Це керівництво для Spark DataFrame. Тут ми обговорюємо, як створити DataFrame? його переваги та різні операції DataFrames разом із відповідним зразком коду. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Іскрова стрічка
  2. Як встановити Spark
  3. Кар'єра в іскрі
  4. Питання інтерв'ю
  5. Рамки даних в R
  6. 7 різних типів приєднань до Spark SQL (приклади)
  7. PySpark SQL | Модулі та методи PySpark SQL
  8. Іскрові компоненти | Огляд компонентів іскри

Категорія: