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

Connected

ćwiczenie

Zmniejszanie zbioru danych przez próbkowanie

Pracując z dużym zbiorem danych, rzadko kiedy trzeba na raz przetwarzać wszystkie rekordy. Szczególnie na początku projektu, gdy eksperymentujesz z różnymi podejściami, szybciej iterujesz na mniejszym wycinku danych. Funkcja sdf_sample() to wygodny sposób na uzyskanie takiego wycinka. Przyjmuje ona obiekt tibble oraz ułamek wierszy do zwrócenia. W tym przypadku chcemy pobrać próbkę bez zwracania. Aby uzyskać losową próbkę jednej dziesiątej zbioru danych, użyj poniższego kodu.

a_tibble %>%
  sdf_sample(fraction = 0.1, replacement = FALSE)

Ponieważ wyniki próbkowania są losowe, a pomniejszony zbiór danych prawdopodobnie będzie używany wielokrotnie, dobrą praktyką jest użycie funkcji compute(), która zapisuje wyniki jako kolejną ramkę danych Spark.

a_tibble %>%
  sdf_sample(<some args>) %>%
  compute("sample_dataset")

Aby wyniki były odtwarzalne, możesz ustawić ziarno generatora liczb losowych za pomocą argumentu seed. Dzięki temu za każdym razem, gdy uruchamiasz kod, otrzymujesz ten sam losowy zbiór danych. Wartość ziarna nie ma znaczenia – wybierz dowolną dodatnią liczbę całkowitą.

Instrukcje

100 XP

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

  • Użyj funkcji sdf_sample(), aby pobrać 1% metadanych utworów bez zwracania.
    • Przekaż wartość 20000229 do argumentu seed, aby ustawić ziarno generatora liczb losowych.
  • Oblicz wynik i zapisz go w tabeli o nazwie "sample_track_metadata".