Cấu trúc dữ liệu RDD

Một phần của tài liệu Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh (Trang 41)

3 Khảo sát và lựa chọn framework xử lý dữ liệu

3.3.3 Cấu trúc dữ liệu RDD

Spark cho phép người dùng viết chương trình cho Driver(hoặc hay còn được gọi là node Master) trên hệ thống tính toán cluster có thể thực hiện song song các hoạt động trên dữ liệu. RDD được xem là thành phần cốt lõi và quan trọng nhất của Spark — có tính chất bất biến, phân tán trên các node. Các object bên trong RDD được gọi là các partition và có thể được tính toán trên các nút khác nhau của hệ thống phân tán. Cluster manager của Spark sẽ xử lý việc khởi động và phân phối các công việc cho các node Worker.

Thay vì thực thi từng transformation, Spark sẽ thực thi các RDD một cách lười, chỉ tính toán các transformation RDD khi RDD cuối cùng cần được tính toán. Spark có thể giữ RDD trong bộ nhớ trên các node của trình thực thi trong suốt vòng đời của ứng dụng Spark để truy cập nhanh hơn trong các tính toán lặp lại. Khi RDD triển khai trong Spark, các RDD là bất biến, vì vậy việc áp dụng một transformation một RDD sẽ trả về một RDD mới thay vì RDD hiện có. Theo nhóm phát triển Spark, thách thức chính trong việc thiết kế RDD là tạo ra một giao diện lập trình cung cấp khả năng chịu lỗi một cách hiệu quả. Các giải pháp hiện tại có thể lưu trữ trong bộ nhớ trên các node phân tán, chẳng hạn như cơ chế share-memory phân tán, key-value database cung cấp cơ chế cập nhật fine-grained . Với kiểu thiết kế này, cách duy nhất để cung cấp khả năng chịu lỗi là sao chép dữ liệu qua máy hoặc để ghi nhật ký cập nhật giữa các máy. Cả hai phương pháp đều tốn chi phí cao với khối lượng công việc sử dụng nhiều dữ liệu, vì yêu cầu sao chép một lượng lớn dữ liệu qua mạng cluster. Ngược lại với Spark, RDD hoạt động trên cơ chế biến đổi coarse-grained(ví dụ: map, filter, reduce). Cơ chế này giúp khả năng chịu lỗi tốt hơn bằng cách ghi nhật ký các phép transformation được sử dụng để xây dựng lineage. Nếu một partition của RDD bị mất, RDD có đủ thông tin để tính toán lại và vì thế partition lỗi sẽ được tính toán lại nhanh chóng.

Một phần của tài liệu Nghiên cứu phát triển công cụ phân tích dữ liệu nông nghiệp dùng cho làng thông minh (Trang 41)

Tải bản đầy đủ (PDF)

(105 trang)