Mulai sekarangMulai gratis

Mengecilkan data dengan sampling

Saat Anda bekerja dengan himpunan data besar, Anda biasanya tidak perlu selalu menggunakan semuanya. Terutama pada awal proyek, ketika Anda masih banyak bereksperimen dengan apa yang ingin dilakukan, Anda sering dapat beriterasi lebih cepat dengan bekerja pada subset data yang lebih kecil. sdf_sample() menyediakan cara yang mudah untuk melakukan hal ini. Fungsi ini menerima sebuah tibble dan fraksi baris yang ingin dikembalikan. Dalam kasus ini, Anda ingin melakukan sampling tanpa pengembalian (without replacement). Untuk mendapatkan sampel acak sebesar sepersepuluh dari himpunan data Anda, gunakan kode berikut.

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

Karena hasil sampling bersifat acak, dan Anda kemungkinan ingin menggunakan kembali himpunan data yang diperkecil tersebut, lazim untuk menggunakan compute() guna menyimpan hasilnya sebagai Spark DataFrame lain.

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

Agar hasilnya dapat direproduksi, Anda juga dapat menyetel seed bilangan acak melalui argumen seed. Dengan melakukan ini, Anda akan mendapatkan himpunan data acak yang sama setiap kali menjalankan kode Anda. Nomor seed yang digunakan tidak penting; pilih saja bilangan bulat positif favorit Anda.

Latihan ini merupakan bagian dari kursus

Pengantar Spark dengan sparklyr di R

Lihat Kursus

Instruksi latihan

Koneksi Spark telah dibuat untuk Anda sebagai spark_conn. Sebuah tibble yang terhubung ke metadata track yang disimpan di Spark telah didefinisikan sebelumnya sebagai track_metadata_tbl.

  • Gunakan sdf_sample() untuk mengambil sampel 1% metadata track tanpa pengembalian.
    • Berikan 20000229 ke argumen seed untuk menyetel seed acak.
  • Hitung hasilnya, dan simpan dalam tabel bernama "sample_track_metadata".

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Sample the data without replacement
  ___ %>%
  # Compute the result
  ___
Edit dan Jalankan Kode