2010-09-14 33 views
6

Công việc hadoop của tôi tạo ra số lượng tệp lớn trên HDFS và tôi muốn viết một chuỗi riêng biệt sẽ sao chép các tệp này từ HDFS sang S3.Cách sao chép các tập tin từ HDFS sang S3 một cách hiệu quả theo chương trình

Có thể bất kỳ ai trỏ tôi đến bất kỳ API java nào xử lý nó.

Cảm ơn

+0

cách tiếp cận khác có thể được sử dụng S3 thay vì HDFS với Hadoop bạn có thể tìm thấy tất cả các thành tích và demerits của phương pháp này here Và nếu bạn nghĩ rằng nó sẽ là thích hợp để thiết lập S3 cho Hadoop Cụm bạn có thể refer here user1855490

Trả lời

8

"Hỗ trợ cho khối hệ thống tập tin S3 đã được thêm vào $ {HADOOP_HOME}/bin/hadoop cụ distcp trong Hadoop 0.11.0 (Xem Hadoop-862). Các công cụ distcp thiết lập một công việc MapReduce Sử dụng distcp, một nhóm nhiều thành viên có thể sao chép rất nhiều dữ liệu một cách nhanh chóng Số nhiệm vụ bản đồ được tính bằng cách đếm số lượng tệp trong nguồn: nghĩa là mỗi tác vụ bản đồ chịu trách nhiệm sao chép một tệp. Ví dụ, nguồn có thể tham chiếu đến hệ thống tập tin cục bộ hoặc hdfs với S3 làm mục tiêu. "

Kiểm tra chạy bản sao số lượng lớn trong và ngoài S3 tại đây http://wiki.apache.org/hadoop/AmazonS3

+0

Lệnh 'cụ distcp' hoạt động tốt để sao chép các tệp giữa hdfs và s3, cho đến khi bạn đạt tới giới hạn PUT 5 GB trên S3. [Hadoop 2.4 sửa lỗi này] (https://issues.apache.org/jira/browse/HADOOP-9454) nhưng nếu bạn có phiên bản cũ hơn, hãy lưu ý. –

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