Tôi nhận thức được sự tồn tại của https://wiki.apache.org/hadoop/AmazonS3 và những lời sau đây:Về mặt kỹ thuật sự khác nhau giữa s3n, s3a và s3 là gì?
S3 Native FileSystem (URI Đề án: s3n) Một hệ thống tập tin gốc để đọc và ghi các file thường xuyên trên S3. Ưu điểm của hệ thống tập tin này là bạn có thể truy cập các tập tin trên S3 được viết bằng các công cụ khác. Ngược lại, các công cụ khác có thể truy cập các tệp được viết bằng Hadoop. Điểm bất lợi là giới hạn 5 GB đối với kích thước tệp được S3 đặt ra.
S3A (Lược đồ URI: s3a) Bản kế thừa cho S3 Native, s3n fs, S3a: hệ thống sử dụng thư viện của Amazon để tương tác với S3. Điều này cho phép S3a hỗ trợ các tệp lớn hơn (không giới hạn 5GB), hoạt động hiệu suất cao hơn và hơn thế nữa. Hệ thống tệp được dự định là thay thế cho/kế thừa cho S3 Native: tất cả các đối tượng có thể truy cập từ các URL s3n: // cũng có thể truy cập được từ s3a chỉ bằng cách thay thế lược đồ URL.
Hệ thống tệp khối S3 (Lược đồ URI: s3) Hệ thống tệp dựa trên khối được S3 hỗ trợ. Các tệp được lưu trữ dưới dạng các khối, giống như chúng ở trong HDFS. Điều này cho phép thực hiện hiệu quả các đổi tên. Hệ thống tệp này yêu cầu bạn dành một nhóm cho hệ thống tệp - bạn không nên sử dụng nhóm chứa tệp hiện có hoặc ghi các tệp khác vào cùng một nhóm. Các tệp được lưu trữ bởi hệ thống tệp này có thể lớn hơn 5 GB nhưng chúng không tương thích với các công cụ S3 khác.
Tại sao thay đổi thư trên URI có thể tạo sự khác biệt như vậy? Ví dụ
val data = sc.textFile("s3n://bucket-name/key")
để
val data = sc.textFile("s3a://bucket-name/key")
sự khác biệt kỹ thuật cơ bản sự thay đổi này là gì? Có bài viết hay nào mà tôi có thể đọc được không?
Bài viết hỗ trợ từ Amazon dường như vẫn được cập nhật, nhưng bây giờ tôi có thể ghi vào S3 từ các công việc EMR bằng cách sử dụng lược đồ 's3a'. Có thể câu trả lời sẽ được sửa đổi. – mlg
@mig Trong khi s3a có thể hoạt động, và nó dường như hoạt động theo kinh nghiệm của tôi, nó không được AWS hỗ trợ kỹ thuật. Vì vậy, tôi nghĩ rằng bạn sẽ sử dụng nó có nguy cơ của riêng bạn. – jarmod