Copiando dados para o Spark
Antes de fazer qualquer trabalho de verdade com o Spark, você precisa levar seus dados para lá. O sparklyr tem funções como spark_read_csv() que leem um arquivo CSV diretamente no Spark. De forma mais geral, é útil conseguir copiar dados do R para o Spark. Isso é feito com a função copy_to() do dplyr. Aviso: copiar dados é um processo fundamentalmente lento. Na prática, grande parte da estratégia para otimizar desempenho com conjuntos de dados grandes é encontrar maneiras de evitar copiar dados de um lugar para outro.
copy_to() recebe dois argumentos: uma conexão com o Spark (dest) e um data frame (df) a ser copiado para o Spark.
Depois de copiar seus dados para o Spark, você pode querer confirmar que tudo funcionou. Você pode ver a lista de todos os data frames armazenados no Spark usando src_tbls(), que simplesmente recebe uma conexão com o Spark (x).
Ao longo do curso, você vai explorar metadados de faixas do Million Song Dataset. Embora o Spark escale tranquilamente para bem além de um milhão de linhas, para manter as coisas simples e responsivas, você usará um subconjunto de mil faixas. Para esclarecer a terminologia: uma faixa corresponde a uma linha no conjunto de dados. No seu conjunto de mil faixas, isso equivale a uma música (embora o conjunto completo de um milhão de linhas tivesse algumas músicas duplicadas).
Este exercício faz parte do curso
Introdução ao Spark com sparklyr em R
Instruções do exercício
track_metadata, que contém o nome da música, o nome do artista e outros metadados de 1.000 faixas, já foi pré-definido no seu ambiente.
- Use
str()para explorar o conjunto de dadostrack_metadata. - Conecte-se ao seu cluster Spark local, guardando a conexão em
spark_conn. - Copie
track_metadatapara o cluster Spark usandocopy_to(). - Veja quais data frames estão disponíveis no Spark usando
src_tbls(). - Desconecte do Spark.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(___)