НачатьНачать бесплатно

Изучение структуры тиблов

Если попытаться вывести тибл, описывающий данные, хранящиеся в Spark, происходит нечто интересное: тибл не хранит копию данных у себя. Всё работает следующим образом: метод вывода использует ваше подключение к Spark, копирует часть содержимого обратно в R и отображает эти значения так, как если бы данные хранились локально. Как вы уже видели в этой главе, копирование данных — медленная операция, поэтому по умолчанию выводятся только 10 строк и столько столбцов, сколько помещается на экране.

Количество выводимых строк можно изменить с помощью аргумента n функции print(). Ширину отображаемого содержимого можно задать с помощью аргумента width, который указывается в символах (не в столбцах). Удобный приём — использовать width = Inf, чтобы вывести все столбцы.

Функция str() обычно применяется для отображения структуры переменной. Для объектов типа data.frame она даёт наглядный обзор с типом и первыми значениями каждого столбца. Однако для тиблов с удалённым источником данных str() не умеет извлекать данные. Это означает, что при вызове str() для тибла с данными из Spark вы увидите список, содержащий объект подключения к Spark и несколько дополнительных элементов.

Чтобы получить сводку по каждому столбцу набора данных, на который ссылается тибл, используйте glimpse(). Обратите внимание: для удалённых данных, например хранящихся в кластере Spark, количество строк отображается неверно — glimpse() не может корректно его определить.

Это упражнение является частью курса

Введение в Spark с sparklyr на R

Посмотреть курс

Инструкции к упражнению

Подключение к Spark создано и доступно как spark_conn. Тибл, привязанный к метаданным треков в Spark, предопределён как track_metadata_tbl.

  • Выведите первые 5 строк и все столбцы метаданных треков.
  • Изучите структуру тибла с помощью str().
  • Изучите структуру метаданных треков с помощью glimpse().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Print 5 rows, all columns
___

# Examine structure of tibble
___

# Examine structure of data
___
Редактировать и запускать код