ComeçarComece de graça

Reduzindo os dados por amostragem

Quando você trabalha com um conjunto de dados grande, geralmente não precisa usar tudo o tempo todo. Principalmente no início do projeto, enquanto você está experimentando o que quer fazer, muitas vezes é possível iterar mais rápido trabalhando com um subconjunto menor dos dados. sdf_sample() oferece uma forma prática de fazer isso. Ela recebe um tibble e a fração de linhas a retornar. Neste caso, você quer amostrar sem reposição. Para obter uma amostra aleatória de um décimo do seu conjunto de dados, você usaria o código a seguir.

a_tibble %>%
  sdf_sample(fraction = 0.1, replacement = FALSE)

Como os resultados da amostragem são aleatórios e você provavelmente vai querer reutilizar o conjunto de dados reduzido, é comum usar compute() para armazenar os resultados como outro data frame do Spark.

a_tibble %>%
  sdf_sample(<some args>) %>%
  compute("sample_dataset")

Para tornar os resultados reprodutíveis, você também pode definir uma semente de números aleatórios por meio do argumento seed. Ao fazer isso, você obtém o mesmo conjunto de dados aleatório sempre que executar seu código. Não importa qual número você use como semente; basta escolher seu inteiro positivo favorito.

Este exercício faz parte do curso

Introdução ao Spark com sparklyr em R

Ver curso

Instruções do exercício

Uma conexão Spark foi criada para você como spark_conn. Um tibble ligado aos metadados das faixas armazenados no Spark foi pré-definido como track_metadata_tbl.

  • Use sdf_sample() para amostrar 1% dos metadados das faixas sem reposição.
    • Passe 20000229 para o argumento seed para definir uma semente aleatória.
  • Compute o resultado e armazene-o em uma tabela chamada "sample_track_metadata".

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Sample the data without replacement
  ___ %>%
  # Compute the result
  ___
Editar e executar o código