Spark에서 데이터를 다시 가져오기
1장의 'tibble 구조 살펴보기' 연습 문제에서 보셨듯이, tibble은 데이터 사본을 저장하지 않아요. 데이터는 Spark에 그대로 있고, tibble은 Spark에서 무엇을 가져올지에 대한 정보만 저장합니다.
데이터를 Spark에서 R로 옮겨야 하는 이유는 여럿 있습니다. 이미 출력할 때 일부 데이터가 Spark에서 R로 이동하는 것을 보셨죠. 그래프를 그리거나, Spark에서 사용할 수 없는 모델링 기법을 쓰려면 데이터셋을 수집해야 합니다. (무엇보다 R은 어떤 프로그래밍 언어보다도 다양한 모델을 제공합니다.)
데이터를 수집, 즉 Spark에서 R로 옮기려면 collect()를 호출하면 됩니다.
이 연습은 강의의 일부입니다
R에서 sparklyr로 시작하는 Spark
연습 안내
이미 spark_conn이라는 Spark 연결이 만들어져 있습니다. Spark에 저장된 트랙 메타데이터에 연결된 tibble은 track_metadata_tbl로 미리 정의되어 있습니다.
track_metadata_tbl에서artist_familiarity가 0.9보다 큰 행만 필터링하고, 결과를results에 할당하세요.- 원격 데이터에 사용되는
tbl_lazy임을 확인할 수 있도록results의 클래스를 출력하세요. - 결과를 수집해
collected에 할당하세요. - 로컬 데이터에 사용되는
tbl_df임을 확인할 수 있도록collected의 클래스를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
results <- track_metadata_tbl %>%
# Filter where artist familiarity is greater than 0.9
___
# Examine the class of the results
___
# Collect your results
collected <- results %>%
___
# Examine the class of the collected results
___