Apache Flink so sánh với Mapreduce trên Hadoop như thế nào? Theo cách nào thì tốt hơn và tại sao?Apache Flink so sánh với Mapreduce trên Hadoop như thế nào?
Trả lời
Tuyên bố từ chối trách nhiệm: Tôi là người cam kết và thành viên PMC của Apache Flink.
Tương tự như Hadoop MapReduce, Apache Flink là bộ xử lý dữ liệu song song với API và công cụ thực thi riêng. Flink nhằm hỗ trợ nhiều trường hợp sử dụng mà Hadoop đang được sử dụng và phát độc đáo với nhiều hệ thống từ hệ sinh thái Hadoop bao gồm HDFS và YARN.
Tôi sẽ trả lời câu hỏi của bạn bằng cách phân biệt giữa mô hình lập trình MapReduce và mô hình thực thi MapReduce.
trình Mẫu
mô hình lập trình Apache Flink được dựa trên khái niệm về mô hình lập trình MapReduce nhưng khái quát nó bằng nhiều cách. Flink cung cấp chức năng Map và Reduce nhưng cũng có các phép biến đổi bổ sung như Join, CoGroup, Filter và Iterations. Các phép biến đổi này có thể được lắp ráp trong các luồng dữ liệu tùy ý bao gồm nhiều nguồn, các lưu lượng, phân nhánh và các luồng hợp nhất. Mô hình dữ liệu của Flink là tổng quát hơn mô hình cặp khóa-giá trị của MapReduce và cho phép sử dụng bất kỳ kiểu dữ liệu Java (hoặc Scala) nào. Các phím có thể được xác định trên các kiểu dữ liệu này một cách linh hoạt.
Do đó, mô hình lập trình của Flink là một tập hợp siêu của mô hình lập trình MapReduce. Nó cho phép xác định nhiều chương trình một cách thuận tiện hơn và súc tích hơn nhiều. Tôi cũng muốn chỉ ra rằng có thể nhúng các hàm Hadoop chưa sửa đổi (Input/OutputFormats, Mapper, Reducers) trong các chương trình Flink và thực hiện chúng cùng với các hàm Flink gốc.
Thực hiện mẫu
Nhìn vào mô hình thực hiện, Flink vay mượn rất nhiều khái niệm từ các hệ thống cơ sở dữ liệu quan hệ song song. Flink có mô hình xử lý pipelined làm giảm nhu cầu thực hiện các kết quả trung gian trên các hệ thống tập tin cục bộ hoặc phân tán (ngoài ra nó cũng cho phép Flink thực hiện xử lý luồng theo thời gian thực). Hơn nữa, việc thực hiện chương trình Flink không được kết hợp chặt chẽ với đặc tả của chương trình. Trong MapReduce (được thực hiện bởi Apache Hadoop), việc thực thi của mỗi chương trình MapReduce tuân theo chính xác cùng một mẫu. Các chương trình Flink được trao cho một trình tối ưu hóa để tìm ra một kế hoạch thực hiện hiệu quả. Tương tự như DBMS quan hệ, trình tối ưu hóa chọn các chiến lược vận chuyển và tham gia dữ liệu theo cách mà các hoạt động tốn kém như việc xáo trộn dữ liệu và phân loại đều tránh được. Tôi nên chỉ ra rằng Flink chưa được thử nghiệm ở quy mô lớn mà Hadoop đang chạy. Tôi biết các thiết lập Flink chạy trên tối đa 200 nút.
Thêm vào Fabian của câu trả lời:
Một sự khác biệt nữa là Flink không phải là một hệ thống hàng loạt chế biến tinh khiết, nhưng có thể ở cùng một thời gian để phân tích trực tuyến độ trễ thấp và cung cấp một API tốt đẹp để xác định luồng chương trình phân tích .
Nội bộ, Flink thực sự là hệ thống phát trực tiếp. Để Flink, các chương trình hàng loạt là một trường hợp đặc biệt của các chương trình phát trực tuyến.
- 1. Apache Storm so với Hadoop
- 2. netezza hoạt động như thế nào? nó so sánh với Hadoop như thế nào?
- 3. zipWithIndex trên Apache Flink
- 4. Apache Flink vs Twitter Heron?
- 5. Hadoop: OutputCollector hoạt động như thế nào trong MapReduce?
- 6. Apache Flink triển khai lặp lại như thế nào?
- 7. Bắt đầu với MapReduce/Hadoop
- 8. Bạn so sánh Apache Tomcat & Glassfish như các máy chủ sản xuất như thế nào?
- 9. so sánh và so sánh công việc như thế nào?
- 10. Node.js hoạt động như thế nào so với Apache?
- 11. Giá GUID và so sánh đắt tiền như thế nào so với so sánh chuỗi
- 12. Ý tưởng dự án với Hadoop MapReduce
- 13. Hadoop MapReduce file nhiều Input
- 14. Tính năng so sánh hình ảnh nút so sánh với nút-gm như thế nào?
- 15. Elm so sánh với ClojureScript như thế nào?
- 16. Docker so sánh với openhift như thế nào?
- 17. FlockDB so sánh với neo4j như thế nào?
- 18. Prism so sánh với Caliburn như thế nào?
- 19. Khách hàng của Jersey-client và Apache HTTP so sánh như thế nào?
- 20. Cấu hình Hadoop: mapred. * Vs mapreduce. *
- 21. Hadoop MapReduce, câu hỏi triển khai Java
- 22. Chức năng JoinFunction và CoGroupFunction của Apache Flink khác nhau như thế nào?
- 23. Không thể sử dụng apache flink trong amazon emr
- 24. Không thể chạy lệnh MapReduce trên hadoop 2.4.0
- 25. Thuật toán sắp xếp MapReduce hoạt động như thế nào?
- 26. Hadoop MapReduce: Kích thước tệp đầu vào phù hợp?
- 27. Sự khác nhau giữa Apache Spark và Apache Flink là gì?
- 28. Mảng Javascript được so sánh như thế nào?
- 29. Mức độ song song trong Apache Flink
- 30. Bạn so sánh địa chỉ IP như thế nào?
Thẻ bắt đầu bằng # không thực sự được sử dụng trong các câu hỏi SO, tôi khuyên bạn chỉ nên đặt câu hỏi và thêm các thẻ thích hợp. –
Cảm ơn bạn Angelo! – Shu