Bắt đầu ngayBắt đầu miễn phí

Dữ liệu lớn, tibble nhỏ

Trong bài trước, khi bạn sao chép dữ liệu sang Spark, copy_to() đã trả về một giá trị. Giá trị trả về này là một dạng đặc biệt của tibble() không tự chứa dữ liệu. Để giải thích điều này, bạn cần biết đôi chút về cách các gói trong tidyverse lưu trữ dữ liệu. Tibbles thường chỉ là một biến thể của data.frame với cách in đẹp hơn. Tuy nhiên, dplyr cũng cho phép chúng tham chiếu dữ liệu từ nguồn dữ liệu từ xa, như cơ sở dữ liệu và – như trong trường hợp này – Spark. Với các tập dữ liệu ở xa, đối tượng tibble chỉ lưu trữ kết nối tới dữ liệu từ xa. Phần này sẽ được bàn kỹ hơn sau, nhưng điểm quan trọng lúc này là dù bạn có một tập dữ liệu lớn, kích thước của đối tượng tibble vẫn nhỏ.

Ở phía Spark, dữ liệu được lưu trong một biến gọi là DataFrame. Đây gần như là tương đương trực tiếp với kiểu biến data.frame của R. (Dù kiểu dữ liệu của cột được đặt tên hơi khác – ví dụ cột numeric được gọi là cột DoubleType.) Xuyên suốt khóa học, thuật ngữ data frame sẽ được dùng, trừ khi cần phân biệt rõ giữa data.frameDataFrame. Vì các kiểu này cũng tương tự bảng trong cơ sở dữ liệu, đôi khi thuật ngữ table cũng sẽ được dùng để mô tả dạng dữ liệu hình chữ nhật này.

Gọi tbl() với một kết nối Spark và một chuỗi tên data frame trong Spark sẽ trả về cùng kiểu đối tượng tibble như khi bạn dùng copy_to().

Một công cụ hữu ích bạn sẽ thấy trong bài này là hàm object_size() từ gói pryr. Hàm này cho biết một đối tượng chiếm bao nhiêu bộ nhớ.

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

Xem khóa học

Hướng dẫn bài tập

Một kết nối Spark đã được tạo sẵn là spark_conn. Metadata của 1.000 bản nhạc được lưu trên cụm Spark trong bảng "track_metadata".

  • Liên kết tới bảng "track_metadata" bằng tbl(). Gán kết quả vào track_metadata_tbl.
  • Xem kích thước tập dữ liệu bằng dim() trên track_metadata_tbl.
  • Xem đối tượng tibble nhỏ đến mức nào bằng object_size() trên 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.

# Link to the track_metadata table in Spark
track_metadata_tbl <- ___(___, "___")

# See how big the dataset is
___(___)

# See how small the tibble is
___(___)
Chỉnh sửa và Chạy Mã