Ara sonuçları saklama
- 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ş
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_tbliçindeki satırları,artist_familiarity0.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
computedadlı bir R tibble'ına ata.
- Sonuçları
- Kullanılabilir Spark veri kümelerini
src_tbls()ile gör. computed'ınclass()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
___