Vì vậy, nó không chỉ là bộ nhớ đệm. Aaronman bị ốm rất nhiều nên chỉ thêm vào những gì anh ta đã bỏ lỡ.
Hiệu suất thô với bộ đệm ẩn nhanh hơn 2-10 lần do khung công tác được định hướng tốt và hiệu quả hơn. Ví dụ. 1 jvm cho mỗi nút với các chuỗi akka tốt hơn là forking toàn bộ quá trình cho mỗi tác vụ.
API Scala. Scala là viết tắt của Ngôn ngữ có thể mở rộng và rõ ràng là ngôn ngữ tốt nhất để lựa chọn xử lý song song. Họ nói rằng Scala cắt giảm mã xuống 2-5x, nhưng theo kinh nghiệm của tôi từ việc tái cấu trúc mã bằng các ngôn ngữ khác - đặc biệt là mã java mapreduce, nó giống mã ít hơn 10-100x.Nghiêm túc là tôi đã refactored 100s LOC từ java thành một số ít Scala/Spark. Nó cũng dễ dàng hơn nhiều để đọc và lý do về. Spark thậm chí còn ngắn gọn và dễ sử dụng hơn các công cụ trừu tượng Hadoop như tổ ong &, thậm chí còn tốt hơn cả Scalding.
Spark có repl/shell. Sự cần thiết cho một chu trình triển khai biên dịch để chạy các công việc đơn giản bị loại bỏ. Người ta có thể chơi tương tác với dữ liệu giống như một sử dụng Bash để chọc quanh một hệ thống.
Điều cuối cùng cần lưu ý là dễ dàng tích hợp với DBB của Big Table, như cassandra và hbase. Trong cass để đọc một bảng để thực hiện một số phân tích, chỉ cần
sc.cassandraTable[MyType](tableName).select(myCols).where(someCQL)
Điều tương tự cũng được mong đợi cho HBase. Bây giờ hãy thử làm điều đó trong bất kỳ khuôn khổ MPP nào khác !!
CẬP NHẬT ý nghĩ chỉ ra đây chỉ là những ưu điểm của Spark, có khá nhiều điều hữu ích ở trên cùng. Ví dụ. GraphX để xử lý đồ thị, MLLib cho việc học máy dễ dàng, Spark SQL cho BI, BlinkDB cho các truy vấn nhanh apprx điên, và như đã đề cập Spark Streaming
Bạn muốn nói "20 lần"? ... IME mất khoảng 20 giây để Hadoop quay lên các JVM – samthebest
Tôi đã đề cập trường hợp khi có rất nhiều tác vụ, nơi mà việc khởi động công việc có thể bị gián đoạn. Trong trường hợp này hadoop 1-2 giây cho mỗi nhiệm vụ trên làm cho 1-2 nhiệm vụ thứ hai để lãng phí khoảng 50% thời gian, trong khi Spark đang làm tốt với rất nhiều nhiệm vụ nhỏ. –