티블 구조 살펴보기
Spark에 저장된 데이터를 설명하는 티블을 출력하려고 하면, 티블이 데이터 자체의 복사본을 가지고 있지 않기 때문에 약간의 “마법”이 필요합니다. 이때 일어나는 일은, print 메서드가 Spark 연결을 사용해서 일부 내용을 R로 가져온 다음, 마치 데이터가 로컬에 있는 것처럼 그 값을 보여주는 것입니다. 이 장의 앞부분에서 보셨듯이, 데이터를 복사하는 작업은 느린 연산이므로, 기본적으로는 화면에 맞는 최대 10개 행과 필요한 만큼의 열만 출력합니다.
print()의 n 인수를 사용하면 출력할 행 수를 바꿀 수 있습니다. 또한 width 인수로 표시할 내용의 너비(열 개수가 아니라 문자 수)를 지정할 수 있습니다. 모든 열을 출력하고 싶을 때는 width = Inf를 사용하는 것이 유용한 요령입니다.
str() 함수는 보통 변수의 구조를 표시할 때 사용합니다. data.frame의 경우 각 열의 타입과 몇 개의 첫 값이 깔끔하게 요약되어 나옵니다. 하지만 원격 데이터 소스를 사용하는 티블의 경우 str()은 데이터를 어떻게 가져와야 하는지 알지 못합니다. 즉, Spark에 저장된 데이터를 담고 있는 티블에 str()을 호출하면 Spark 연결 객체와 몇 가지 구성 요소를 담은 리스트만 보게 됩니다.
티블이 참조하는 데이터셋에서 각 열에 무엇이 들어 있는지 요약을 보려면 대신 glimpse()를 호출해야 합니다. Spark 클러스터에 저장된 것처럼 원격 데이터의 경우, 행의 개수는 정확하지 않을 수 있다는 점에 유의하세요! 이 경우 glimpse()는 행 수를 제대로 보고하지 못합니다.
이 연습은 강의의 일부입니다
R에서 sparklyr로 시작하는 Spark
연습 안내
spark_conn으로 Spark 연결이 생성되어 있습니다. Spark에 저장된 트랙 메타데이터에 연결된 티블 track_metadata_tbl이 미리 정의되어 있습니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Print 5 rows, all columns
___
# Examine structure of tibble
___
# Examine structure of data
___