Освоение выбора строк в PySpark: подробное руководство

В PySpark выбор определенных строк из DataFrame — обычная задача. В этой статье блога мы рассмотрим различные методы достижения этой цели. Мы предоставим примеры кода и объясним каждый подход, используя разговорный язык. Итак, давайте углубимся и станем экспертами в выборе строк в PySpark!

Метод 1: использование функции filter()
Функция filter() позволяет указать условие и выбрать строки, соответствующие этому условию. Например, предположим, что у нас есть DataFrame с именем “df” и мы хотим выбрать строки, в которых столбец “возраст” больше 30:

filtered_df = df.filter(df.age > 30)

Метод 2: использование SQL-подобного синтаксиса с помощью функцииwhere()
PySpark предоставляет SQL-подобный синтаксис для выбора строк с помощью функцииwhere(). Он обеспечивает большую гибкость при написании сложных условий. Вот как вы можете его использовать:

selected_rows = df.where("age > 30 and gender = 'Male'")

Метод 3: использование строки выражения SQL
Вы также можете использовать строку выражения SQL для выбора строк в PySpark. Этот метод полезен, если вы хотите написать сложные условия или объединить несколько столбцов. Вот пример:

selected_rows = df.filter("age > 30").filter("gender = 'Male'")

Метод 4: использование функции isin()
Функция isin() позволяет выбирать строки на основе списка значений. Например, предположим, что вы хотите выбрать строки, в которых в столбце «город» указано «Нью-Йорк» или «Лондон»:

selected_rows = df.filter(df.city.isin(["New York", "London"]))

Метод 5: использование функции take()
Если вам нужно только определенное количество строк, вы можете использовать функцию take(). Он возвращает массив указанного количества строк из DataFrame. Например, чтобы выбрать первые пять строк:

selected_rows = df.take(5)

Метод 6: использование функции head()
Подобно функции take(), функция head() также возвращает указанное количество строк. Однако он возвращает новый DataFrame вместо массива. Вот как вы можете его использовать:

selected_rows_df = df.head(5)

Метод 7: использование функции limit()
Функция limit() позволяет выбрать определенное количество строк из начала DataFrame. Например, чтобы выбрать первые десять строк:

selected_rows = df.limit(10)

В этой статье мы рассмотрели несколько методов выбора строк в PySpark. Мы рассмотрели методы с использованием функции filter(), SQL-подобного синтаксиса с помощьюwhere(), строк выражений SQL, функции isin(), функции take(), функции head() и функции limit(). Освоив эти методы, вы получите гибкость и возможность без особых усилий извлекать нужные строки из кадров данных PySpark.