Khám phá kiểu dữ liệu trong Spark
Bạn đã thấy (ở Chương 1) src_tbls() để liệt kê các DataFrame trên Spark mà sparklyr có thể nhìn thấy. Bạn cũng đã dùng glimpse() để khám phá các cột của một tibble ở phía R.
sparklyr có một hàm tên là sdf_schema() để khám phá các cột của một tibble ở phía R. Gọi hàm thì rất dễ; nhưng xử lý giá trị trả về thì hơi bất tiện.
sdf_schema(a_tibble)
Giá trị trả về là một list, trong đó mỗi phần tử lại là một list gồm hai phần tử, chứa tên và kiểu dữ liệu của từng cột. Bài tập cung cấp một phép biến đổi dữ liệu để bạn xem các kiểu dữ liệu dễ hơn.
Dưới đây là đối chiếu cách các kiểu dữ liệu trong R ánh xạ sang các kiểu dữ liệu trong Spark. Các kiểu khác hiện chưa được sparklyr hỗ trợ.
| R type | Spark type |
|---|---|
| logical | BooleanType |
| numeric | DoubleType |
| integer | IntegerType |
| character | StringType |
| list | ArrayType |
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
Kết nối Spark đã được tạo sẵn là spark_conn. Một tibble gắn với metadata của track được lưu trong Spark đã được định nghĩa trước là track_metadata_tbl.
- Gọi
sdf_schema()để lấy schema của metadata các track. - Chạy đoạn mã biến đổi trên
schemađể xem nó dưới dạng tibble dễ đọc hơn.
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.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
# Get the schema
(schema <- ___(___))
# Transform the schema
schema %>%
lapply(function(x) do.call(data_frame, x)) %>%
bind_rows()