• biểu ngữ tin tức

Dịch vụ

Cơ chế dọn dẹp dữ liệu Spark Streaming
(I) DStream và RDD
Như chúng ta đã biết, tính toán Spark Streaming dựa trên Spark Core, và cốt lõi của Spark Core là RDD, vì vậy Spark Streaming chắc chắn cũng liên quan đến RDD. Tuy nhiên, Spark Streaming không cho phép người dùng sử dụng RDD trực tiếp, mà trừu tượng hóa một tập hợp các khái niệm DStream. DStream và RDD là các mối quan hệ bao hàm, bạn có thể hiểu nó như một mẫu trang trí trong Java, tức là DStream là một cải tiến của RDD, nhưng cách hoạt động lại tương tự như RDD.
DStream và RDD đều có một số điều kiện.
(1) có các hành động chuyển đổi tương tự, chẳng hạn như map, reduceByKey, v.v., nhưng cũng có một số hành động duy nhất, chẳng hạn như Window, mapWithStated, v.v.
(2) tất cả đều có hành động Action, chẳng hạn như foreachRDD, count, v.v.
Mô hình lập trình là nhất quán.
(B) Giới thiệu DStream trong Spark Streaming
DStream chứa một số lớp.
(1) Các lớp nguồn dữ liệu, chẳng hạn như InputDStream, cụ thể là DirectKafkaInputStream, v.v.
(2) Các lớp chuyển đổi, thường là MappedDStream, ShuffledDStream
(3) các lớp đầu ra, thường là ForEachDStream
Từ những điều trên, dữ liệu từ đầu (đầu vào) đến cuối (đầu ra) được thực hiện bởi hệ thống DStream, điều đó có nghĩa là người dùng thường không thể trực tiếp tạo và thao tác RDD, điều đó có nghĩa là DStream có cơ hội và nghĩa vụ chịu trách nhiệm về vòng đời của RDD.
Nói cách khác, Spark Streaming có mộttự động dọn dẹpchức năng.
(iii) Quá trình tạo RDD trong Spark Streaming
Luồng hoạt động của RDD trong Spark Streaming diễn ra sơ bộ như sau.
(1) Trong InputDStream, dữ liệu nhận được được chuyển đổi thành RDD, chẳng hạn như DirectKafkaInputStream, tạo ra KafkaRDD.
(2) sau đó thông qua MappedDStream và chuyển đổi dữ liệu khác, lần này được gọi trực tiếp RDD tương ứng với phương thức bản đồ để chuyển đổi
(3) Trong hoạt động lớp đầu ra, chỉ khi RDD được hiển thị, bạn mới có thể cho phép người dùng thực hiện lưu trữ tương ứng, các phép tính khác và các hoạt động khác.