Trong Hadoop, bạn có thể sử dụng bộ nhớ cache được phân phối để sao chép các tệp chỉ đọc trên mỗi nút. Cách tương tự để làm như vậy trong Spark là gì? Tôi biết về các biến phát sóng, nhưng điều đó chỉ tốt cho các biến, chứ không phải các tệp.Tương đương với Cache được phân phối trong Spark?
Trả lời
Hãy xem SparkContext.addFile()
Thêm một tập tin được tải về với công việc Spark này trên tất cả các nút. Đường dẫn được truyền có thể là tệp cục bộ, tệp trong HDFS (hoặc các hệ thống tệp được Hadoop hỗ trợ khác) hoặc URI HTTP, HTTPS hoặc FTP. Để truy cập tệp trong công việc Spark, hãy sử dụng SparkFiles.get (tên tệp) để tìm vị trí tải xuống của tệp.
Một thư mục có thể được cung cấp nếu tùy chọn đệ quy được đặt thành true. Hiện tại các thư mục chỉ được hỗ trợ cho các hệ thống tệp được Hadoop hỗ trợ.
Nó cũng sẽ hoạt động với S3 của Amazon? – MetallicPriest
Không chắc chắn 100%, nhưng tôi tin rằng nó sẽ (không thể kiểm tra nó ngay bây giờ). Spark đang quay trở lại Đường dẫn của Hadoop cho các URI không phải là http/ftp: https://github.com/apache/spark/blob/43f50decdd20fafc55913c56ffa30f56040090e4/core/src/main/scala/org/apache/spark/SparkContext.scala#L1325 và Tôi nghĩ rằng nó xử lý S3 URI. –
nếu các tập tin của bạn là các tập tin văn bản, sống trong HDFS, sau đó, bạn có thể sử dụng:
textFile("<hdfs-path>")
của "SparkContext".
cuộc gọi này sẽ cung cấp cho bạn RDD, mà bạn có thể duy trì trên các nút, bằng cách sử dụng phương pháp: "persist()
" của RDD đó.
phương pháp này có thể lưu trữ dữ liệu tệp (được tuần tự hóa/xóa bỏ), trong MEMORY/DISK.
tham khảo:
http://spark.apache.org/docs/latest/programming-guide.html#which-storage-level-to-choose
Điều này KHÔNG đặt tệp trên mỗi nút. Nó phân phối nó trên các nút. –
@TheArchetypalPaul: vâng, bạn nói đúng. Tôi bỏ qua yêu cầu và đề xuất persist(), mà chỉ giao dịch với phân vùng riêng của RDD, thay vì sao chép toàn bộ tệp trên mỗi nút trong cụm. –
- 1. Số ngẫu nhiên trong phân phối chuẩn sai (tương đương với NORMINV())
- 2. Spark: nhóm concat tương đương trong scala RDD
- 3. Tương đương với #define trong Java?
- 4. Phân vùng tương đương trong Julia
- 5. Lẫn lộn về bộ nhớ cache được phân phối trong Hadoop
- 6. Tương đương với SoftReference trong .net?
- 7. GCC tương đương với PDBs
- 8. Phân phối các phần tử giữa các mảng tương đương để đạt được các khoản tiền cân bằng
- 9. Java tương đương với đăng ký int?
- 10. pycurl tương đương với "cuộn tròn --data nhị phân"
- 11. Java tương đương với bisect trong python
- 12. Tương đương TreeSet của Java tương đương với Python?
- 13. python tương đương tương đương
- 14. tương đương với "chạm" trong scons?
- 15. AF_UNIX tương đương với Windows
- 16. Sử dụng Apache Spark với HDFS vs phân phối lưu trữ khác
- 17. MDX tương đương với THÍCH
- 18. Tương đương với double-clickable .sh và .bat trên Mac?
- 19. gấu trúc tương đương với np.where
- 20. Bản đồ phân tán trong Scala Spark
- 21. Tương đương với nguyên mẫu trong ES6
- 22. Tương đương với LinkedHashMap trong Python
- 23. Spark Caching: RDD Chỉ có 8% cache
- 24. Tương đương với sqlall trong Django 1.9?
- 25. Java tương đương với MEF trong .NET
- 26. IIS tương đương với VirtualHost trong Apache
- 27. Tương đương với CSS trong XAML
- 28. Tương đương với `__FILE__`,` __LINE__` trong bash
- 29. Tương đương với MATLAB 'ans' trong R
- 30. tương đương với pipefail trong vỏ dash
lý do tại sao bạn có thể tải tập tin trong danh sách hoặc bản đồ và sau đó phát sóng nó ?? – banjara