1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do Spark z pakietem sparklyr w R

Connected

ćwiczenie

Badanie struktury tibble

Jeśli spróbujesz wyświetlić tibble opisujący dane przechowywane w Sparku, musi zajść pewna magia – tibble nie przechowuje bowiem własnej kopii danych. Na czym polega ta magia? Metoda print korzysta z połączenia ze Sparkiem, kopiuje część zawartości z powrotem do R i wyświetla te wartości tak, jakby dane były przechowywane lokalnie. Jak widziałeś wcześniej w tym rozdziale, kopiowanie danych to wolna operacja, dlatego domyślnie drukowanych jest tylko 10 wierszy oraz tyle kolumn, ile mieści się na ekranie.

Liczbę wyświetlanych wierszy możesz zmienić za pomocą argumentu n funkcji print(). Szerokość wyświetlanej zawartości możesz natomiast kontrolować argumentem width, który określa liczbę znaków (nie kolumn). Przydatna sztuczka: użyj width = Inf, aby wydrukować wszystkie kolumny.

Funkcja str() służy zazwyczaj do wyświetlania struktury zmiennej. Dla obiektów data.frame dostarcza przydatnego podsumowania z typem i pierwszymi wartościami każdej kolumny. Jednak w przypadku tibble z zewnętrznym źródłem danych str() nie wie, jak pobrać te dane. Oznacza to, że wywołanie str() na tibble zawierającym dane przechowywane w Sparku zwróci listę zawierającą obiekt połączenia ze Sparkiem i kilka innych elementów.

Jeśli chcesz zobaczyć podsumowanie zawartości poszczególnych kolumn w zbiorze danych, do którego odwołuje się tibble, użyj zamiast tego funkcji glimpse(). Pamiętaj, że w przypadku danych zdalnych – takich jak te przechowywane w klastrze Spark – liczba wierszy może być myląca. W takich przypadkach glimpse() nie raportuje jej poprawnie.

Instrukcje

100 XP

Połączenie ze Sparkiem zostało już utworzone i jest dostępne jako spark_conn. Tibble powiązany z metadanymi utworów przechowywanymi w Sparku jest predefiniowany jako track_metadata_tbl.

  • Wyświetl pierwsze 5 wierszy i wszystkie kolumny metadanych utworów.
  • Zbadaj strukturę tibble za pomocą str().
  • Zbadaj strukturę metadanych utworów za pomocą glimpse().