Zmenšení dat pomocí vzorkování
Při práci s velkým datasetem většinou nepotřebuješ pracovat se všemi daty najednou. Zejména na začátku projektu, kdy hodně experimentuješ a zjišťuješ, co vlastně chceš dělat, můžeš iterovat rychleji na menší podmnožině dat. sdf_sample() ti to usnadní. Funkce přijímá tibble a podíl řádků, které má vrátit. V tomto případě chceš vzorkovat bez nahrazení. Pro náhodný vzorek jedné desetiny datasetu použij následující kód.
a_tibble %>%
sdf_sample(fraction = 0.1, replacement = FALSE)
Protože výsledky vzorkování jsou náhodné a zmenšený dataset budeš pravděpodobně chtít použít opakovaně, je běžné použít compute() a uložit výsledky jako další Spark DataFrame.
a_tibble %>%
sdf_sample(<some args>) %>%
compute("sample_dataset")
Aby byly výsledky reprodukovatelné, můžeš nastavit seed pro generátor náhodných čísel pomocí argumentu seed. Díky tomu získáš při každém spuštění kódu stejný náhodný dataset. Na konkrétním čísle seedu nezáleží – zvol si libovolné kladné celé číslo.
Toto cvičení je součástí kurzu
Úvod do Sparku se sparklyr v R
Pokyny k cvičení
Spark připojení bylo vytvořeno jako spark_conn. Tibble napojený na metadata skladeb uložená ve Sparku je předdefinovaný jako track_metadata_tbl.
- Pomocí
sdf_sample()vytvoř vzorek 1 % metadat skladeb bez nahrazení.- Předej hodnotu
20000229argumentuseedpro nastavení náhodného seedu.
- Předej hodnotu
- Vypočítej výsledek a ulož ho do tabulky s názvem
"sample_track_metadata".
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Sample the data without replacement
___ %>%
# Compute the result
___