Spark-datatypen verkennen
Je hebt eerder (in Hoofdstuk 1) src_tbls() gezien om de DataFrames op Spark te tonen die sparklyr kan zien. Ook heb je glimpse() gebruikt om de kolommen van een tibble aan de R-kant te verkennen.
sparklyr heeft een functie genaamd sdf_schema() om de kolommen van een tibble aan de R-kant te verkennen. Aanroepen is eenvoudig; de geretourneerde waarde verwerken is wat lastiger.
sdf_schema(a_tibble)
De retourwaarde is een lijst, en elk element daarvan is zelf een lijst met twee elementen: de naam en het datatype van elke kolom. In de oefening zie je een datatransformatie om de datatypen eenvoudiger te bekijken.
Hier is een vergelijking van hoe R-datatypen naar Spark-datatypen worden gemapt. Andere datatypen worden momenteel niet ondersteund door sparklyr.
| R type | Spark type |
|---|---|
| logical | BooleanType |
| numeric | DoubleType |
| integer | IntegerType |
| character | StringType |
| list | ArrayType |
Deze oefening maakt deel uit van de cursus
Introductie tot Spark met sparklyr in R
Oefeninstructies
Er is al een Spark-verbinding voor je aangemaakt als spark_conn. Een tibble gekoppeld aan de trackmetagegevens die in Spark zijn opgeslagen is vooraf gedefinieerd als track_metadata_tbl.
- Roep
sdf_schema()aan om de schema-informatie van de trackmetagegevens op te halen. - Voer de transformatiecode uit op
schemaom dit te zien in een beter leesbare tibble-weergave.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
# Get the schema
(schema <- ___(___))
# Transform the schema
schema %>%
lapply(function(x) do.call(data_frame, x)) %>%
bind_rows()