1. Learn
  2. /
  3. Courses
  4. /
  5. Wprowadzenie do Spark z pakietem sparklyr w R

Connected

Exercise

Filtrowanie wierszy

Oprócz wybierania kolumn, drugim sposobem na wyodrębnienie istotnych danych ze zbioru jest filtrowanie wierszy. Służy do tego funkcja filter(). Przekazujesz jej obiekt tibble oraz warunki logiczne. Na przykład, aby zwrócić tylko wiersze, w których wartości kolumny x są większe od zera i wartości y są równe wartościom z, użyj poniższego kodu.

a_tibble %>%
  filter(x > 0, y == z)

Zanim przejdziesz do ćwiczenia, zwróć uwagę na dwie ważne kwestie. Po pierwsze, nie myl funkcji filter() z pakietu dplyr z funkcją filter() z pakietu stats. Po drugie, sparklyr tłumaczy kod dplyr na kod SQL przed przekazaniem go do Sparka. Oznacza to, że aktualnie obsługiwany jest tylko ograniczony zestaw operacji filtrowania. Na przykład nie możesz filtrować wierszy tekstowych za pomocą wyrażeń regularnych, jak poniżej:

a_tibble %>%
  filter(grepl("a regex", x))

Strona pomocy funkcji translate_sql() opisuje dostępne możliwości. Możesz używać operatorów porównania takich jak >, != czy [%in%]; operatorów arytmetycznych takich jak +, ^ czy %%; oraz operatorów logicznych takich jak &, | i !. Obsługiwanych jest również wiele funkcji matematycznych, m.in. log(), abs(), round() i sin().

Podobnie jak poprzednio, indeksowanie za pomocą nawiasów kwadratowych nie jest obecnie obsługiwane.

Instructions

100 XP

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

  • Tak jak w poprzednim ćwiczeniu, wybierz kolumny artist_name, release, title i year za pomocą select().
  • Przekaż wynik potokiem do filter(), aby uzyskać utwory z lat 60.