Aan de slagBegin gratis

Popcorn double feature

De dplyr-methoden die je in de vorige twee hoofdstukken zag, gebruiken de SQL-interface van Spark. Ze zetten je R-code dus om naar SQL-code voordat die aan Spark wordt doorgegeven. Dat werkt uitstekend voor basisbewerkingen op data, maar je loopt tegen grenzen aan bij complexere verwerking. Zo kun je bijvoorbeeld het gemiddelde van een kolom berekenen, maar niet de mediaan. Hier is het voorbeeld uit de oefening ‘Kolommen samenvatten’ die je in Hoofdstuk 1 hebt gedaan.

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

sparklyr heeft ook twee “native” interfaces die in de volgende twee hoofdstukken aan bod komen. Native betekent dat ze Java- of Scala-code aanroepen om Spark-bibliotheken rechtstreeks te gebruiken, zonder conversie naar SQL. sparklyr ondersteunt de Spark DataFrame Application Programming Interface (API), met functies met het voorvoegsel sdf_. Het ondersteunt ook toegang tot Sparks machine learning-bibliotheek, MLlib, met “feature transformation”-functies die beginnen met ft_, en “machine learning”-functies die beginnen met ml_.

Een belangrijk filosofisch verschil tussen werken met R en met Spark is dat Spark veel strenger is over variabeletype dan R. De meeste native functies willen DoubleType-inputs en geven DoubleType-outputs terug. DoubleType is Sparks equivalent van R’s numeric-vectortype. sparklyr zet numeric voor je om naar DoubleType, maar het is aan de gebruiker (jij dus!) om logical- of integer-data naar numeric om te zetten en weer terug.

Welke van deze uitspraken is waar?

  1. De dplyr-methoden van sparklyr zetten code om naar Scala-code voordat het op Spark wordt uitgevoerd.
  2. R-code omzetten naar SQL-code beperkt het aantal ondersteunde berekeningen.
  3. De meeste Spark MLlib-modelleerfuncties vereisen DoubleType-inputs en geven DoubleType-outputs terug.
  4. De meeste Spark MLlib-modelleerfuncties vereisen IntegerType-inputs en geven BooleanType-outputs terug.

Deze oefening maakt deel uit van de cursus

Introductie tot Spark met sparklyr in R

Bekijk cursus

Interactieve oefening met praktijkervaring

Zet theorie om in actie met een van onze interactieve oefeningen

Begin oefening