Patlamış mısır çift gösterimi
Önceki iki bölümde gördüğün dplyr yöntemleri, Spark'ın SQL arayüzünü kullanır. Yani, R kodunu Spark'a iletmeden önce SQL koduna dönüştürürler. Bu, temel veri düzenleme için harika bir çözümdür; ancak daha karmaşık işlemler yapmak istediğinde sınırlara takılabilirsin. Örneğin bir sütunun ortalamasını hesaplayabilirsin ama medyanını hesaplayamazsın. İşte Bölüm 1'de tamamladığın 'Sütunları özetleme' egzersizinden örnek:
track_metadata_tbl %>%
summarize(mean_duration = mean(duration)) #OK
track_metadata_tbl %>%
summarize(median_duration = median(duration))
sparklyr ayrıca sonraki iki bölümde ele alınacak iki "yerel" arayüze sahiptir. Yerel demek, SQL'e herhangi bir dönüştürme yapmadan doğrudan Spark kitaplıklarına erişmek için Java veya Scala kodunu çağırmaları demektir. sparklyr, sdf_ öneki olan işlevlerle Spark DataFrame Application Programming Interface (API)'sini destekler. Ayrıca Spark'ın Machine Learning kitaplığı MLlib'e erişimi de destekler; "özellik dönüştürme" işlevleri ft_ ile, "machine learning" işlevleri ml_ ile başlar.
R ile çalışmakla Spark ile çalışmak arasındaki önemli felsefi farklardan biri, Spark'ın değişken türleri konusunda R'den çok daha katı olmasıdır. Yerel işlevlerin çoğu DoubleType girdiler ister ve DoubleType çıktılar döndürür. DoubleType, Spark'ta R'nin numeric vektör türünün karşılığıdır. sparklyr, numeric'i DoubleType'a dönüştürmeyi halleder, ancak logical veya integer verileri numerice ve tekrar geri dönüştürmek kullanıcının (yani senin!) sorumluluğundadır.
Bu ifadelerden hangileri doğrudur?
sparklyr'ındplyryöntemleri, kodu Spark'ta çalıştırmadan önce Scala koduna dönüştürür.- R kodunu SQL koduna dönüştürmek, desteklenen hesaplamaların sayısını sınırlar.
- Spark MLlib modelleme işlevlerinin çoğu
DoubleTypegirdiler gerektirir veDoubleTypeçıktılar döndürür. - Spark MLlib modelleme işlevlerinin çoğu
IntegerTypegirdiler gerektirir veBooleanTypeçıktılar döndürür.
Bu egzersiz, kursun bir parçasıdır
R ile sparklyr kullanarak Spark’a Giriş
Uygulamalı etkileşimli egzersiz
Teoriyi etkileşime dönüştürün, interaktif egzersizlerimizden biriyle
Egzersize başla