ÎncepețiÎncepe gratuit

Dublu program de cinema

Metodele dplyr pe care le-ai văzut în primele două capitole folosesc interfața SQL a Spark. Cu alte cuvinte, ele convertesc codul tău R în cod SQL înainte de a-l transmite către Spark. Aceasta este o soluție excelentă pentru manipulări de bază ale datelor, însă întâmpină probleme atunci când vrei să faci procesări mai complexe. De exemplu, poți calcula media unei coloane, dar nu și mediana. Iată exemplul din exercițiul „Sumarizarea coloanelor" pe care l-ai completat în Capitolul 1.

track_metadata_tbl %>%
  summarize(mean_duration = mean(duration)) #OK
track_metadata_tbl %>%
  summarize(median_duration = median(duration))

sparklyr dispune și de două interfețe „native" care vor fi discutate în următoarele două capitole. „Native" înseamnă că ele apelează cod Java sau Scala pentru a accesa direct bibliotecile Spark, fără nicio conversie în SQL. sparklyr suportă API-ul (Application Programming Interface) pentru Spark DataFrame, prin funcții cu prefixul sdf_. De asemenea, oferă acces la biblioteca de machine learning a Spark, MLlib, prin funcții de „transformare a caracteristicilor" care încep cu ft_, și funcții de „machine learning" care încep cu ml_.

O diferență importantă între lucrul cu R și lucrul cu Spark este că Spark este mult mai strict în privința tipurilor de variabile decât R. Majoritatea funcțiilor native așteaptă intrări de tip DoubleType și returnează ieșiri de tip DoubleType. DoubleType este echivalentul Spark al tipului de vector numeric din R. sparklyr se ocupă de conversia numericDoubleType, însă îți revine ție să convertești datele de tip logical sau integer în numeric și înapoi.

Care dintre afirmațiile de mai jos este adevărată?

  1. Metodele dplyr din sparklyr convertesc codul în Scala înainte de a-l rula pe Spark.
  2. Conversia codului R în cod SQL limitează numărul de calcule suportate.
  3. Majoritatea funcțiilor de modelare din Spark MLlib necesită intrări de tip DoubleType și returnează ieșiri de tip DoubleType.
  4. Majoritatea funcțiilor de modelare din Spark MLlib necesită intrări de tip IntegerType și returnează ieșiri de tip BooleanType.

Acest exercițiu face parte din cursul

Introducere în Spark cu sparklyr în R

Vezi cursul

Exercițiu interactiv practic

Transformă teoria în practică cu unul dintre exercițiile noastre interactive

Începe exercițiul