Inizia subitoInizia gratis

Ridurre i dati tramite campionamento

Quando lavori con un insieme di dati molto grande, in genere non hai davvero bisogno di usarlo tutto, sempre. Soprattutto all'inizio del progetto, mentre stai sperimentando liberamente cosa vuoi fare, spesso puoi iterare più velocemente lavorando su un sottoinsieme più piccolo dei dati. sdf_sample() offre un modo comodo per farlo. Prende una tibble e la frazione di righe da restituire. In questo caso, vuoi campionare senza reinserimento. Per ottenere un campione casuale di un decimo del tuo insieme di dati, useresti il seguente codice.

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

Poiché i risultati del campionamento sono casuali e probabilmente vorrai riutilizzare l'insieme di dati ridotto, è comune usare compute() per salvare i risultati come un altro data frame di Spark.

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

Per rendere i risultati riproducibili, puoi anche impostare un seme per il generatore di numeri casuali tramite l'argomento seed. In questo modo otterrai lo stesso insieme di dati casuale ogni volta che esegui il codice. Non importa quale numero usi come seme; scegli semplicemente il tuo intero positivo preferito.

Questo esercizio fa parte del corso

Introduzione a Spark con sparklyr in R

Visualizza corso

Istruzioni dell'esercizio

È stata creata per te una connessione Spark come spark_conn. Una tibble collegata ai metadati delle tracce archiviati in Spark è stata predefinita come track_metadata_tbl.

  • Usa sdf_sample() per campionare l'1% dei metadati delle tracce senza reinserimento.
    • Passa 20000229 all'argomento seed per impostare un seme casuale.
  • Calcola il risultato e salvalo in una tabella chiamata "sample_track_metadata".

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Sample the data without replacement
  ___ %>%
  # Compute the result
  ___
Modifica ed esegui il codice