Copiar datos en Spark
Antes de poder hacer cualquier trabajo real con Spark, necesitas cargar tus datos en él. sparklyr incluye funciones como spark_read_csv() que leen un archivo CSV en Spark. De forma más general, es útil poder copiar datos desde R a Spark. Esto se hace con la función copy_to() de dplyr. Aviso: copiar datos es un proceso intrínsecamente lento. De hecho, gran parte de la estrategia para optimizar el rendimiento con conjuntos de datos grandes consiste en evitar mover los datos de un sitio a otro.
copy_to() recibe dos argumentos: una conexión a Spark (dest) y un data frame (df) que se copiará a Spark.
Una vez que hayas copiado tus datos a Spark, quizá quieras comprobar que realmente ha funcionado. Puedes ver una lista de todos los data frames almacenados en Spark usando src_tbls(), que simplemente recibe una conexión a Spark (x).
A lo largo del curso, explorarás metadatos de pistas del Million Song Dataset. Aunque Spark escala sin problema más allá de un millón de filas, para mantener todo simple y ágil, usarás un subconjunto de mil pistas. Para clarificar la terminología: una track es una fila del conjunto de datos. En tu conjunto de mil pistas, esto equivale a una canción (aunque el conjunto completo de un millón de filas tenía canciones duplicadas).
Este ejercicio forma parte del curso
Introducción a Spark con sparklyr en R
Instrucciones del ejercicio
track_metadata, que contiene el nombre de la canción, el nombre del artista y otros metadatos para 1.000 pistas, ya está predefinido en tu espacio de trabajo.
- Usa
str()para explorar el conjunto de datostrack_metadata. - Conéctate a tu clúster local de Spark y guarda la conexión en
spark_conn. - Copia
track_metadataal clúster de Spark usandocopy_to(). - Consulta qué data frames hay disponibles en Spark usando
src_tbls(). - Desconéctate de Spark.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Load dplyr
___
# Explore track_metadata structure
___
# Connect to your Spark cluster
spark_conn <- spark_connect("___")
# Copy track_metadata to Spark
track_metadata_tbl <- ___(___, ___, overwrite = TRUE)
# List the data frames available in Spark
___(___)
# Disconnect from Spark
spark_disconnect(___)