Spark là một phân phối trong công cụ xử lý bộ nhớ. Nó không cần phải được ghép nối với Hadoop, nhưng vì Hadoop là một trong những công cụ xử lý dữ liệu lớn phổ biến nhất, Spark được thiết kế để hoạt động tốt trong môi trường đó. Ví dụ, Hadoop sử dụng HDFS (Hệ thống tệp phân tán Hadoop) để lưu trữ dữ liệu của nó, vì vậy Spark có thể đọc dữ liệu từ HDFS và lưu kết quả trong HDFS.
Đối với tốc độ, Spark giữ các tập dữ liệu trong bộ nhớ. Nó thường sẽ bắt đầu một công việc bằng cách tải dữ liệu từ bộ nhớ bền, chẳng hạn như HDFS, Hbase, cơ sở dữ liệu Cassandra, v.v. Sau khi được nạp vào bộ nhớ, Spark có thể chạy nhiều phép biến đổi trên tập dữ liệu để tính toán kết quả mong muốn. Kết quả cuối cùng sau đó thường được ghi lại để lưu trữ bền.
Về mặt thay thế cho Hadoop, nó có thể nhanh hơn nhiều so với Hadoop ở một số hoạt động nhất định. Ví dụ, một hoạt động giảm nhiều bản đồ có thể nhanh hơn đáng kể trong Spark so với bản đồ Hadoop vì hầu hết các I/O đĩa của Hadoop đều tránh được. Spark có thể đọc dữ liệu được định dạng cho Apache Hive, vì vậy Spark SQL có thể nhanh hơn nhiều so với HQL (Hive Query Language).
Cassandra có ngôn ngữ truy vấn gốc riêng của nó được gọi là CQL (Ngôn ngữ truy vấn Cassandra), nhưng nó là một tập con nhỏ của SQL đầy đủ và khá nghèo đối với những thứ như tập hợp và truy vấn đặc biệt. Vì vậy, khi Spark được ghép nối với Cassandra, nó cung cấp một ngôn ngữ truy vấn giàu tính năng hơn và cho phép bạn thực hiện phân tích dữ liệu mà CQL gốc không cung cấp.
Trường hợp sử dụng khác cho Spark là để xử lý luồng. Spark có thể được thiết lập để nhập dữ liệu thời gian thực đến và xử lý dữ liệu theo lô nhỏ, sau đó lưu kết quả vào bộ nhớ bền, chẳng hạn như HDFS, Cassandra, v.v.
Vì vậy, tia lửa thực sự là một hệ thống độc lập trong bộ nhớ có thể được ghép nối với nhiều cơ sở dữ liệu và hệ thống tệp được phân phối khác nhau để thêm hiệu suất, triển khai SQL hoàn chỉnh hơn và các tính năng có thể thiếu một quá trình xử lý luồng như vậy.
bài viết hay. bạn đề cập rằng tia lửa có thể chạy ở chế độ độc lập. tuy nhiên, trang tải xuống của riêng họ không cung cấp cho tôi tùy chọn đó. đó là những gì bắt đầu sự nhầm lẫn. tất cả các tùy chọn tải về tham khảo hadoop! – Shahbaz
bạn cũng đề cập rằng tia lửa nên có bộ nhớ bằng với dữ liệu đang được xử lý. Tuy nhiên, trang đích của spark tuyên bố cải thiện 10x trên hadoop cho đĩa dựa trên xử lý (100x cho bộ nhớ dựa). bạn có thấy rằng họ có điều gì đó thú vị để cung cấp cho dữ liệu dựa trên đĩa không? đối với dữ liệu lớn, chúng có thay thế cho hdfs không? – Shahbaz
tôi biết nó hơi muộn cho câu trả lời nhưng tôi đã bị căng thẳng.Chủ đề của tôi nhiều hơn là bên hadoop và tia lửa chỉ bật lên, vì vậy tôi không thực sự chắc chắn cho dù đó là tải toàn bộ dữ liệu vào bộ nhớ hoặc nếu nó chỉ tải phần nhưng tôi nghĩ rằng điểm thứ hai là hợp lý hơn. Về kết luận của tôi, tôi nghĩ bạn không cần dung lượng lưu trữ tương tự cho bộ nhớ nhưng bạn cần rất nhiều. Tôi nghĩ thật thú vị khi xem xét chủ đề này. – sascha10000