Trong tệp đầu vào của tôi khi tạo Jar cho Công việc MapReduce của tôi, tôi đang sử dụng lệnh Hadoop-local. Tôi muốn biết có cách nào hay không, thay vì chỉ định cụ thể đường dẫn cho từng tệp trong thư mục nhập của tôi được sử dụng trong công việc MapReduce, cho dù tôi chỉ có thể chỉ định và chuyển tất cả các tệp từ thư mục nhập của tôi. Điều này là do nội dung và số lượng tệp có thể thay đổi do bản chất của công việc MapReduce mà tôi đang cố định cấu hình và vì tôi không biết số lượng tệp cụ thể, ngoài nội dung của các tệp này, có cách chuyển tất cả các tệp từ thư mục nhập vào chương trình MapReduce của tôi và sau đó lặp qua từng tệp để tính toán một hàm nhất định mà sau đó sẽ gửi kết quả đến Reducer. Tôi chỉ sử dụng một chương trình Map/Reduce và tôi đang viết mã bằng Java. Tôi có thể sử dụng lệnh hadoop-moonshot, nhưng hiện tại tôi đang làm việc với hadoop-local.Hadoop, MapReduce - Nhiều Đường dẫn Đầu vào/Đầu ra
Cảm ơn.
Nếu bạn chỉ định một thư mục HDFS trong công việc của bạn thay vì một tập tin, sau đó tất cả các tập tin cần được đọc. Bạn có thể vui lòng [sửa] câu hỏi của bạn để bao gồm lệnh bạn đang chạy không? Có lẽ một số mã trong một [mcve], cũng? –
Cảm ơn @ cricket_007 bạn có thể cung cấp ví dụ về cuộc gọi tới thư mục HDFS thay vì chỉ một tệp đơn. Ngoài ra, làm thế nào tôi sẽ có một tập tin đầu ra riêng biệt cho mỗi đầu vào. Tôi đoán nó bằng cách sử dụng lớp MultipleOutput bằng cách nào đó, nhưng tôi không thể thấy như thế nào vào lúc này. –
Tôi không thể nhớ làm thế nào để xuất nhiều tệp, nhưng bản thân kết quả mapreduce phải là một thư mục. Đối với mục nhập thư mục, [ví dụ về số từ] (https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Usage) đọc hai tệp từ một thư mục –