Trong sparkconf của tôi, tôi có thể thiết lập số lõi để sử dụng, tôi có 4 vật lý, 8 hợp lý trên máy tính xách tay của tôi, spark làm gì nếu tôi chỉ định một số không thể có trên máy, như nói 100 lõi?Điều gì xảy ra nếu tôi cố gắng sử dụng nhiều lõi hơn tôi có?
Trả lời
Số lõi không mô tả lõi vật lý mà là một số chuỗi đang chạy. Nó có nghĩa là không có gì thực sự kỳ lạ xảy ra nếu số lượng cao hơn một số lõi có sẵn.
Tùy thuộc vào thiết lập của bạn, nó có thể thực sự là một cấu hình được ưu tiên với giá trị khoảng gấp đôi số lõi khả dụng là cài đặt thường được đề xuất. Rõ ràng nếu số là cao, ứng dụng của bạn sẽ dành nhiều thời gian hơn cho việc chuyển đổi giữa các luồng hơn là xử lý thực tế.
Tùy thuộc vào trình quản lý cụm của bạn. Tôi cho rằng bạn đang hỏi về chế độ chạy local[n]
.
Nếu vậy, trình điều khiển và một và chỉ một người thực thi là cùng một JVM với số n
chủ đề.
DAGScheduler
- trình lập kế hoạch thực hiện Spark sẽ sử dụng n
chủ đề để lên lịch bao nhiêu tác vụ như bạn đã nói.
Nếu bạn có nhiều tác vụ hơn, tức là chủ đề, hơn lõi, hệ điều hành của bạn sẽ phải xử lý nhiều chuỗi hơn lõi và lên lịch cho chúng một cách thích hợp.
- 1. Điều gì sẽ xảy ra nếu tôi ReleaseMutex() hai lần?
- 2. điều gì sẽ xảy ra nếu nhiều hơn một chủ đề cố gắng truy cập đối tượng đơn lẻ
- 3. Điều gì xảy ra nếu minSdkVersion thấp hơn targetSdkVersion?
- 4. ngẫu nhiên của Python: Điều gì xảy ra nếu tôi không sử dụng hạt giống (someValue)?
- 5. Điều gì xảy ra nếu tôi không triển khai Serializable khi sử dụng Hashmap
- 6. Nếu tôi sử dụng loại tài liệu HTML 5, điều gì sẽ xảy ra?
- 7. MEF: Điều gì xảy ra nếu tôi có nhiều lần xuất nhưng chỉ cần một lần nhập?
- 8. điều gì đã xảy ra khi tôi sử dụng nhiều ob_start() mà không ob_end_clean() hoặc ob_end_flush()?
- 9. Điều gì sẽ xảy ra nếu tôi không đóng System.Diagnostics.Process trong ứng dụng giao diện điều khiển C# của tôi?
- 10. Các lỗi lẻ này xảy ra khi tôi cố gắng tạo C# bằng ANTLR4 là gì?
- 11. Điều gì sẽ xảy ra trong Rust khi sử dụng "match" nếu không có gì khớp?
- 12. điều gì sẽ xảy ra nếu bạn sử dụng attribute_to mà không có has_one tương ứng?
- 13. Điều gì xảy ra nếu lỗi mới?
- 14. Điều gì sẽ xảy ra nếu tôi không có chi nhánh chính?
- 15. Điều gì sẽ xảy ra nếu tôi sử dụng "ném"; mà không có ngoại lệ để ném?
- 16. Điều gì sẽ xảy ra nếu if_/3 có?
- 17. Điều gì sẽ xảy ra nếu tôi không đóng cơ sở dữ liệu trong Android?
- 18. GKSession - điều gì xảy ra nếu tôi đã tắt Bluetooth và Wi-Fi?
- 19. Điều gì xảy ra với phân loại của tôi?
- 20. gì xảy ra khi tôi gọi requestAnimationFrame nhiều lần
- 21. Lỗi xảy ra khi tôi đang cố gắng tải cụm từ log4net
- 22. điều gì sẽ xảy ra nếu chúng tôi không giải quyết hoặc từ chối lời hứa
- 23. Điều gì xảy ra nếu tôi không chuyển một tham số trong một hàm Javascript?
- 24. Điều gì sẽ xảy ra nếu tôi gán con trỏ hàm, thay đổi số tham số
- 25. Điều gì xảy ra nếu chứng chỉ phân phối của tôi hết hạn?
- 26. Điều gì xảy ra nếu tôi gọi là Vứt bỏ() trước khi sử dụng kết thúc câu lệnh?
- 27. Điều gì sẽ xảy ra khi tôi biên dịch?
- 28. Điều gì sẽ xảy ra nếu bạn không sử dụng "điều này" trong một lớp học?
- 29. điều gì xảy ra nếu tôi chuyển cấu trúc cho hàm vararg?
- 30. Điều gì sẽ xảy ra nếu tôi không chỉ định targetFramework = "4.0"?
Trong các thử nghiệm của tôi với chạy tia lửa ở chế độ cục bộ, tôi thấy cài đặt kết quả tốt 'master =" local [4 * lõi vật lý] "'. Nó tăng gấp đôi việc sử dụng CPU của tôi từ khoảng 40% đến khoảng 80%. Nó chắc chắn là giá trị cố gắng để cấu hình Spark để sử dụng chủ đề 2, 4 hoặc 8 lần so với lõi vật lý có sẵn. – asmaier