Tôi đang cố gắng chạy một công việc trên Elastic MapReduce (EMR) với một lọ tùy chỉnh. Tôi đang cố gắng xử lý khoảng 1000 tệp trong một thư mục. Khi tôi gửi công việc của mình với thông số s3n://bucketname/compressed/*.xml.gz
, tôi nhận được lỗi "tệp trùng khớp 0". Nếu tôi chỉ chuyển đường dẫn tuyệt đối tới tệp (ví dụ: s3n://bucketname/compressed/00001.xml.gz
), nó chạy tốt, nhưng chỉ một tệp được xử lý. Tôi đã thử sử dụng tên của thư mục (s3n://bucketname/compressed/
), hy vọng rằng các tệp bên trong sẽ được xử lý, nhưng điều đó chỉ chuyển thư mục đến công việc.Nhiều tệp như đầu vào trên Amazon Elastic MapReduce
Đồng thời, tôi có bản cài đặt Hadoop cục bộ nhỏ hơn. Trong đó, khi tôi vượt qua công việc của tôi với các ký tự đại diện (/path/to/dir/on/hdfs/*.xml.gz
), nó hoạt động tốt và tất cả 1000 tệp được liệt kê chính xác.
Làm cách nào để có EMR liệt kê tất cả các tệp của tôi?
Cách khác, làm cách nào để liệt kê các tệp trong thư mục trong s3 từ mã? Sau đó tôi có thể tạo đường dẫn từ các tệp đó. –
Nó hoạt động ngay bây giờ! Đã có một tệp rỗng có tên là "được nén" trong cùng một nhóm. Ngay khi tôi xóa tệp trống, chương trình đã bắt đầu hoạt động. –