BaşlayınÜcretsiz başlayın

Ara sonuçları saklama

  1. Bölümde gördüğün gibi, R ile Spark arasında veri kopyalamak doğası gereği yavaştır. Bu da, önceki egzersizde gördüğün gibi veriyi toplama işleminin yalnızca gerçekten ihtiyaç duyduğunda yapılması gerektiği anlamına gelir.

Pipe operatörü, veri işleme komutlarını birbirine zincirlemek için harika, ancak genelde her şeyi tek bir zincirde birleştirerek tüm bir analizi yapamazsın. Örneğin aşağıdaki gibi bir kullanım çok kötü bir pratiktir; çünkü kodunu asla doğru düzgün hata ayıklayamazsın.

final_results <- starting_data %>%
  # 743 adım arka arkaya pipe edilmiş
  # ... %>%
  collect()

Bu bir ikilem yaratır. Ara hesaplamaların sonuçlarını saklaman gerekir, ancak yavaş olduğu için bunları toplamak istemezsin. Çözüm, hesabı yapmak için compute() kullanmak, ama sonuçları Spark üzerinde geçici bir veri çerçevesinde saklamaktır. Compute iki argüman alır: bir tibble ve sonuçları saklayacak Spark veri çerçevesi için bir değişken adı.

a_tibble %>%
  # bazı hesaplamalar %>%
  compute("intermediate_results")

Bu egzersiz, kursun bir parçasıdır

R ile sparklyr kullanarak Spark’a Giriş

Kursa Göz Atın

Egzersiz talimatları

Senin için spark_conn olarak bir Spark bağlantısı oluşturuldu. Spark'ta saklanan track metadata'sına bağlı bir tibble track_metadata_tbl olarak önceden tanımlandı.

  • track_metadata_tbl içindeki satırları, artist_familiarity 0.8'den büyük olacak şekilde filtrele.
  • Sonuçları compute() kullanarak hesapla.
    • Sonuçları "familiar_artists" adlı bir Spark veri çerçevesinde sakla.
    • Sonucu computed adlı bir R tibble'ına ata.
  • Kullanılabilir Spark veri kümelerini src_tbls() ile gör.
  • computed'ın class() bilgisini yazdır. Dikkat: collect()'tan farklı olarak, compute() uzaktaki bir tibble döndürür. Veri hâlâ Spark kümesinde saklanır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

computed <- track_metadata_tbl %>%
  # Filter where artist familiarity is greater than 0.8
  ___ %>%
  # Compute the results
  ___

# See the available datasets
___

# Examine the class of the computed results
___
Kodu Düzenle ve Çalıştır