2016-08-10 11 views

Trả lời

8

Điều này có nghĩa rằng chúng ta không cần phải thực hiện một lọ mỡ nữa cho việc nộp?

Đáng buồn thay, không. Bạn vẫn phải tạo một JAR uber để triển khai Sparks.

Tiêu đề từ ghi chú phát hành là rất gây hiểu nhầm. Ý nghĩa thực sự là bản thân Spark là một sự phụ thuộc không còn được biên dịch thành một JAR uber, nhưng hoạt động như một JAR ứng dụng bình thường với các phụ thuộc. Bạn có thể thấy điều này chi tiết hơn @SPARK-11157 được gọi là "Cho phép Spark được xây dựng mà không cần hội đồng" và đọc bài báo có tên là "Replacing the Spark Assembly with good old jars" mô tả ưu và nhược điểm của việc triển khai Spark chứ không phải một số JAR lớn (Core, Streaming, SQL, v.v. ..) nhưng là một số JAR có kích thước tương đối thường xuyên chứa mã và thư mục lib/ với tất cả các phụ thuộc liên quan.

Nếu bạn thực sự muốn các chi tiết, this pull request chạm vào một số bộ phận quan trọng.

+0

Tôi đọc bạn trả lời như 10 lần. Tôi cũng đọc các liên kết bạn đã cung cấp. Bạn có thể chỉ định rõ lý do tại sao tôi phải tạo bình chất béo? Điều gì sẽ xảy ra nếu tôi không, những vấn đề tiềm năng với việc chỉ định một phạm vi được cung cấp cho tất cả các phụ thuộc tia lửa là gì? – MaxNevermind

+0

@MaxNevermind Nếu bạn không, và chỉ gửi mã được biên dịch của bạn, ai sẽ cung cấp phụ thuộc của bên thứ ba? Khi chạy, ứng dụng của bạn sẽ phát sinh với 'ClassNotFoundException'. –

+0

Tôi hỏi một câu hỏi sai. Điều gì sẽ xảy ra nếu tôi tạo một lọ chất béo nhưng chỉ định một phạm vi được cung cấp cho tất cả các phụ thuộc tia lửa vì chúng được môi trường cung cấp? Vì vậy, phụ thuộc bên thứ ba mà ứng dụng của tôi sử dụng nhưng Spark sẽ không được đóng gói trong một lọ chất béo. – MaxNevermind

Các vấn đề liên quan