Big data, tibble minúsculo
No exercício anterior, quando você copiou os dados para o Spark, copy_to() retornou um valor. Esse valor de retorno é um tipo especial de tibble() que não contém dados próprios. Para explicar isso, você precisa saber um pouco sobre como os pacotes do tidyverse armazenam dados. Tibbles são geralmente apenas uma variação de data.frames com um método de impressão mais amigável. No entanto, o dplyr também permite que eles representem dados de uma fonte remota, como bancos de dados e – como é o caso aqui – o Spark. Para conjuntos de dados remotos, o objeto tibble simplesmente armazena uma conexão com os dados remotos. Isso será discutido com mais detalhes depois, mas o ponto importante agora é que, mesmo tendo um conjunto de dados grande, o tamanho do objeto tibble é pequeno.
No lado do Spark, os dados são armazenados em uma variável chamada DataFrame. Isso é mais ou menos equivalente ao tipo de variável data.frame do R. (Embora os tipos das colunas tenham nomes um pouco diferentes – por exemplo, colunas numeric são chamadas de colunas DoubleType.) Ao longo do curso, o termo data frame será usado, a menos que seja necessária uma distinção entre data.frame e DataFrame. Como esses tipos também são análogos a tabelas de banco de dados, às vezes o termo tabela também será usado para descrever esse tipo de dado retangular.
Chamar tbl() com uma conexão Spark e uma string com o nome do data frame do Spark retornará o mesmo objeto tibble que foi retornado quando você usou copy_to().
Uma ferramenta útil que você verá neste exercício é a função object_size() do pacote pryr. Ela mostra quanta memória um objeto ocupa.
Este exercício faz parte do curso
Introdução ao Spark com sparklyr em R
Instruções do exercício
Uma conexão Spark foi criada para você como spark_conn. Os metadados de 1.000 faixas estão armazenados no cluster Spark na tabela "track_metadata".
- Conecte-se à tabela
"track_metadata"usandotbl(). Atribua o resultado atrack_metadata_tbl. - Veja o tamanho do conjunto de dados usando
dim()emtrack_metadata_tbl. - Veja como o tibble é pequeno usando
object_size()emtrack_metadata_tbl.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Link to the track_metadata table in Spark
track_metadata_tbl <- ___(___, "___")
# See how big the dataset is
___(___)
# See how small the tibble is
___(___)