Tôi có một nghi ngờ rằng, làm thế nào để các giai đoạn thực hiện trong một ứng dụng tia lửa. Có bất kỳ sự nhất quán trong việc thực hiện các giai đoạn có thể được xác định bởi lập trình viên hay nó có nguồn gốc từ động cơ tia lửa không?Các giai đoạn trong một ứng dụng có chạy song song trong tia lửa không?
Trả lời
Kiểm tra các thực thể (giai đoạn, phân vùng) trong pic này:
Liệu giai đoạn trong một công việc (? Spark ứng dụng) chạy song song trong tia lửa?
Có, chúng có thể được thực thi song song nếu không có sự phụ thuộc tuần tự.
Ở đây phân vùng giai đoạn 1 và giai đoạn 2 có thể được thực hiện song song nhưng không phải phân đoạn giai đoạn 0, do phân đoạn phụ thuộc trong giai đoạn 1 & 2 phải được xử lý.
Có sự nhất quán nào trong việc thực hiện các giai đoạn có thể được xác định bởi lập trình viên hoặc nó sẽ được khởi động bằng công cụ phát tia lửa không?
Ranh giới giai đoạn được xác định khi xáo trộn dữ liệu xảy ra giữa các phân vùng. (kiểm tra các đường màu hồng trong ảnh)
Làm thế nào để các giai đoạn thực hiện trong một công việc Spark
Các giai đoạn của một công việc có thể chạy song song nếu không có sự phụ thuộc giữa chúng.
Trong Spark, các giai đoạn được phân tách bằng các đường viền. Bạn có một giai đoạn ngẫu nhiên, đó là giai đoạn ranh giới nơi các phép biến đổi được chia tách, tức là reduceByKey
và bạn có một giai đoạn kết quả, là các giai đoạn nhất định mang lại kết quả mà không gây ra ngẫu nhiên, tức là hoạt động map
:
(Picture provided by Cloudera)
Kể từ groupByKey
là một giai đoạn phát ngẫu nhiên, bạn sẽ thấy sự chia rẽ trong hộp màu hồng đánh dấu một ranh giới.
Nội bộ, một giai đoạn được chia thành các công việc. ví dụ: trong hình ở trên, hàng đầu tiên thực hiện textFile -> map -> filter
, có thể được chia thành ba tác vụ, một cho mỗi chuyển đổi.
Khi một đầu ra biến đổi là một đầu vào biến đổi khác, chúng ta cần thực thi nối tiếp. Tuy nhiên, nếu các giai đoạn không liên quan, tức là hadoopFile -> groupByKey -> map
, chúng có thể chạy song song. Một khi họ tuyên bố một sự phụ thuộc giữa họ từ giai đoạn đó họ sẽ tiếp tục thực hiện serially.
Các giai đoạn (nghĩa là các tác vụ của chúng) có thể chạy song song nếu không có sự phụ thuộc giữa chúng và có đủ tài nguyên trong một cụm để chạy các tác vụ. –
@JacekLaskowski Cảm ơn bạn đã sửa. Tôi quên mất việc tách một biến đổi trên một đồ thị thành nhiều giai đoạn độc lập. –
Cảm ơn câu trả lời của bạn Yuval..its rất thông tin –
- 1. GC thường xuyên ngăn chặn tia lửa chạy song song
- 2. Một "tia lửa" trong Haskell
- 3. OpenMP - Chạy mã song song bên trong mã song song
- 4. chạy song song AsyncTask
- 5. báo cáo Chạy trong 'song song'
- 6. Giai đoạn trung bình trong nhật ký tia lửa là gì?
- 7. Chủ đề không chạy song song
- 8. có bao nhiêu hạt nhân chạy song song trong Mathematica?
- 9. Android: Chủ đề không chạy song song
- 10. thử nghiệm chạy thử nghiệm song song song song
- 11. chạy một vòng lặp for song song trong R
- 12. Trong mã song song OpenMP, sẽ có bất kỳ lợi ích nào cho bộ nhớ để chạy song song không?
- 13. Có tìm thấy song song trong Haskell không?
- 14. Scala Futures không chạy song song
- 15. Chạy các phương thức không đồng bộ song song
- 16. Triển khai ứng dụng song song Weblogic
- 17. Xuân @Scheduler song song chạy
- 18. Tính bất biến có hữu ích đối với các ứng dụng không song song không?
- 19. Chạy nhiều phiên bản ứng dụng android như không gian song song
- 20. Chạy thử nghiệm junit trong intelliJ song song
- 21. Chạy thử nghiệm JUnit song song
- 22. Node.js có hỗ trợ song song không?
- 23. Vẽ một đường song song
- 24. Repa Không song song
- 25. Chạy một truy vấn LINQ đơn giản song song
- 26. Các lý do có thể có tại sao ParallelQuery.Aggregate không chạy song song
- 27. quicksort song song trong c
- 28. Các trường hợp thử nghiệm trong Jasmine 2.0 có chạy song song
- 29. Song song mã hóa các đoạn âm thanh chỉ trong ffmpeg
- 30. Khôi phục hiệu suất đa luồng trong chương trình Haskell - không tăng tốc sử dụng các chiến lược song song
Hình ảnh tuyệt vời !!! Cảm ơn bạn đã sử dụng nó với các khoản tín dụng! –
Cảm ơn bạn đã giải thích chi tiết ... –