2015-01-13 19 views

Trả lời

3

Không, RDD được gắn với một đơn SparkContext. Ý tưởng chung là bạn có một cụm Spark và một chương trình điều khiển cho biết cụm phải làm gì. Trình điều khiển này sẽ có SparkContext và khởi động các hoạt động trên RDD.

Nếu bạn muốn chuyển RDD từ chương trình trình điều khiển này sang chương trình khác, giải pháp là ghi nó vào đĩa (S3/HDFS/...) trong trình điều khiển đầu tiên và tải nó từ đĩa trong trình điều khiển khác.

11

Như đã được Daniel Darabos nêu rõ, điều đó là không thể. Mỗi đối tượng phân tán trong Spark được bao hàm theo ngữ cảnh cụ thể đã được sử dụng để tạo ra nó (SparkContext trong trường hợp RDD, SQLContext trong trường hợp DataFrame tập dữ liệu). Nếu bạn muốn chia sẻ các đối tượng giữa các ứng dụng, bạn phải sử dụng các ngữ cảnh được chia sẻ (xem ví dụ spark-jobserver, Livy hoặc Apache Zeppelin). Kể từ RDD hoặc DataFrame chỉ là một đối tượng địa phương nhỏ có thực sự không có nhiều để chia sẻ.

Dữ liệu chia sẻ là một vấn đề hoàn toàn khác. Bạn có thể sử dụng bộ nhớ đệm chuyên dụng (Apache Ignite) hoặc phân phối trong các hệ thống tệp bộ nhớ (như Alluxio - cựu Tachyon) để giảm thiểu độ trễ khi chuyển đổi giữa ứng dụng nhưng bạn thực sự không thể tránh được.

0

Bạn không thể tự nhiên, theo hiểu biết của tôi, RDD không phải là dữ liệu, mà là một cách để tạo dữ liệu thông qua biến đổi/bộ lọc từ dữ liệu gốc.

Một ý tưởng khác, là chia sẻ dữ liệu cuối cùng thay thế. Vì vậy, bạn sẽ lưu trữ các RDD trong một dữ liệu lưu trữ, chẳng hạn như: - HDFS (một file gỗ vv ..) - Elasticsearch - Apache Ignite (trong bộ nhớ)

Tôi nghĩ rằng bạn sẽ yêu Apache Ignite : https://ignite.apache.org/features/igniterdd.html

Apache Ignite cung cấp một thực hiện Spark RDD trừu tượng cho phép dễ dàng chia sẻ trạng thái trong bộ nhớ trên nhiều Spark việc làm, hoặc trong cùng một ứng dụng hoặc giữa Spark khác nhau ứng dụng.

IgniteRDD được triển khai dưới dạng chế độ xem qua bộ nhớ cache được phân phối, có thể được triển khai trong quy trình thực hiện công việc Spark, hoặc trên nhân viên Spark hoặc trong cụm của riêng nó.

(Tôi cho phép bạn tìm tài liệu để tìm thấy những gì bạn đang tìm kiếm.)

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