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.
To ćwiczenie jest częścią kursu
Wprowadzenie do Spark z pakietem sparklyr w R
Instrukcje do ćwiczenia
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.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Print 5 rows, all columns
___
# Examine structure of tibble
___
# Examine structure of data
___