1. 학습
  2. /
  3. 강의
  4. /
  5. Wprowadzenie do Spark z pakietem sparklyr w R

Connected

연습 문제

Duże dane, mały tibble

W poprzednim ćwiczeniu, gdy kopiowano dane do Sparka, funkcja copy_to() zwróciła wartość. Ta wartość zwrotna to szczególny rodzaj obiektu tibble(), który nie zawiera żadnych własnych danych. Żeby to zrozumieć, warto wiedzieć, jak pakiety tidyverse przechowują dane. Obiekty tibble to zazwyczaj wariant data.frame z bardziej czytelną metodą wyświetlania. Jednak dplyr pozwala im również przechowywać dane ze zdalnego źródła – na przykład z baz danych lub, jak w tym przypadku, ze Sparka. W przypadku zdalnych zbiorów danych obiekt tibble przechowuje jedynie połączenie ze zdalnym źródłem. Szczegóły omówimy później, ale na razie ważne jest jedno: nawet jeśli zbiór danych jest duży, sam obiekt tibble jest mały.

Po stronie Sparka dane są przechowywane w zmiennej nazywanej DataFrame. Jest to mniej więcej bezpośredni odpowiednik typu zmiennej data.frame w R. (Typy kolumn są nieco inaczej nazwane – na przykład kolumny numeric nazywają się kolumnami DoubleType.) W całym kursie będziemy używać terminu data frame, chyba że potrzebne będzie rozróżnienie między data.frame a DataFrame. Ponieważ te typy są również analogiczne do tabel bazodanowych, do opisu tego rodzaju prostokątnych danych będzie czasem używany termin tabela.

Wywołanie tbl() z połączeniem Spark i ciągiem znaków wskazującym nazwę ramki danych Spark zwróci ten sam obiekt tibble, który był zwracany przez copy_to().

Przydatnym narzędziem, które poznasz w tym ćwiczeniu, jest funkcja object_size() z pakietu pryr. Pokazuje ona, ile pamięci zajmuje dany obiekt.

지침

100 XP

Połączenie ze Sparkiem zostało już utworzone jako spark_conn. Metadane 1 000 utworów są przechowywane w klastrze Spark w tabeli "track_metadata".

  • Połącz się z tabelą "track_metadata" za pomocą tbl(). Przypisz wynik do track_metadata_tbl.
  • Sprawdź rozmiar zbioru danych, używając dim() na track_metadata_tbl.
  • Sprawdź, jak mały jest obiekt tibble, używając object_size() na track_metadata_tbl.