시작하기무료로 시작하기

샘플링으로 데이터 줄이기

큰 데이터셋으로 작업할 때는 항상 전체 데이터를 다룰 필요가 없습니다. 특히 프로젝트 초기에 무엇을 할지 탐색하는 단계에서는 더 작은 부분집합으로 작업하면 반복 속도를 훨씬 높일 수 있어요. sdf_sample()은 이를 편리하게 도와줍니다. 이 함수는 티블과 반환할 행의 비율을 받습니다. 이 경우에는 비복원 추출로 샘플링하려고 합니다. 데이터셋의 10%를 무작위로 샘플링하려면 아래와 같이 작성하면 됩니다.

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

샘플링 결과는 무작위이므로, 줄어든 데이터셋을 재사용하려면 compute()를 사용해 결과를 다른 Spark 데이터 프레임으로 저장하는 것이 일반적입니다.

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

결과를 재현 가능하게 만들려면 seed 인수로 난수 시드를 설정할 수 있습니다. 이렇게 하면 코드를 실행할 때마다 같은 무작위 데이터셋을 얻을 수 있어요. 어떤 숫자를 사용하든 상관없으니, 좋아하는 양의 정수를 선택하세요.

이 연습은 강의의 일부입니다

R에서 sparklyr로 시작하는 Spark

강의 보기

연습 안내

이미 spark_conn으로 Spark 연결이 생성되어 있습니다. Spark에 저장된 트랙 메타데이터에 연결된 티블은 track_metadata_tbl로 미리 정의되어 있습니다.

  • sdf_sample()을 사용해 트랙 메타데이터의 1%를 비복원 추출로 샘플링하세요.
    • 난수 시드를 설정하기 위해 seed 인수에 20000229를 전달하세요.
  • 결과를 계산하여 "sample_track_metadata"라는 이름의 테이블에 저장하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Sample the data without replacement
  ___ %>%
  # Compute the result
  ___
코드 편집 및 실행