Khám phá cấu trúc của tibbles
Khi bạn thử in một tibble mô tả dữ liệu được lưu trong Spark, sẽ có một chút “ma thuật” xảy ra, vì tibble không giữ bản sao dữ liệu. “Ma thuật” ở đây là phương thức in sử dụng kết nối Spark của bạn, sao chép một phần nội dung về R, rồi hiển thị các giá trị đó như thể dữ liệu được lưu cục bộ. Như bạn đã thấy trước đó trong chương, việc sao chép dữ liệu là thao tác chậm, nên theo mặc định, chỉ 10 hàng và số cột vừa với màn hình sẽ được in ra.
Bạn có thể thay đổi số hàng được in bằng đối số n của print(). Bạn cũng có thể thay đổi độ rộng nội dung hiển thị bằng đối số width, được chỉ định theo số ký tự (không phải số cột). Mẹo hay là dùng width = Inf để in tất cả các cột.
Hàm str() thường được dùng để hiển thị cấu trúc của một biến. Với data.frame, hàm này đưa ra tóm tắt gọn gồm kiểu và vài giá trị đầu của mỗi cột. Tuy nhiên, với tibbles có nguồn dữ liệu từ xa, str() không biết cách truy xuất dữ liệu. Điều đó có nghĩa là nếu bạn gọi str() trên một tibble chứa dữ liệu lưu trong Spark, bạn sẽ thấy một list chứa đối tượng kết nối Spark và vài phần khác lặt vặt.
Nếu bạn muốn xem tóm tắt những gì mỗi cột chứa trong tập dữ liệu mà tibble tham chiếu tới, bạn cần gọi glimpse(). Lưu ý rằng với dữ liệu từ xa như các tập dữ liệu lưu trong cụm Spark, số hàng là… “không đáng tin”! Trường hợp này, glimpse() không báo cáo chính xác số hàng.
Bài tập này là một phần của khóa học
Nhập môn Spark với sparklyr trong R
Hướng dẫn bài tập
Một kết nối Spark đã được tạo sẵn cho bạn dưới tên spark_conn. Một tibble gắn với track metadata được lưu trong Spark đã được định nghĩa sẵn là track_metadata_tbl.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Print 5 rows, all columns
___
# Examine structure of tibble
___
# Examine structure of data
___