Некоторые предпочитают видеть уродство этого мира. Я хочу видеть красоту. Рассмотрим основные способы ознакомления с содержанием spark датафрейма. Пусть мы работаем со следующим набором:
Чтобы просмотреть n строк датафрейма можете воспользоваться методами limit или take:
Отличия - take возвращает список объектов типа row, а limit не гарантирует возврат именно первых n строк.
Аналогичную функцию, но с большими возможностями предлагает метод show. Помимо количества первых n строк датафрейма для вывода, ей можно задать опцию не обрезать (truncate=False) длинные значения в ячейках (свыше 20 символов) или указать форму вывода в привычном виде (таблица) или вертикальном (vertical=True):
А так получите строки без обрезания ячеек и в вертикальном формате:
С методом sample получим случайную выборку строк. Их ожидаемая доля задается через параметр fraction, опция возможности возвращения элемента - withReplacement, инициализатор случайных значений - seed. При этом fraction не обязан совпадать с долей элементов, которая будет возвращена, так как значение определяет вероятность получения каждой строки:
Collect возвращает список из объектов типа Row, соответствующих всем строкам датафрейма. Будьте осторожны, так как данная операция может вызвать нехватку памяти на драйвере.
Со списком объектов Row удобно работать, когда хотите вернуть конкретное значение в ячейке: