Tôi đang viết một hàm bản đồ bằng cách sử dụng mrjob. Đầu vào của tôi sẽ đến từ các tệp trong một thư mục trên HDFS. Tên của các tập tin chứa một thông tin mảnh nhỏ nhưng rất quan trọng mà không có trong các tập tin. Có cách nào để tìm hiểu (bên trong một hàm bản đồ) tên của tệp đầu vào mà từ đó một cặp khóa-giá trị đã cho không?Cách lấy tên của tệp đầu vào trong MRjob
Tôi đang tìm kiếm một tương đương với mã Java này:
FileSplit fileSplit = (FileSplit)reporter.getInputSplit();
String fileName = fileSplit.getPath().getName();
Cảm ơn trước!
Và biết thêm chi tiết có thể được tìm thấy từ câu trả lời trước Praveen của một câu hỏi tương tự như sau - http://stackoverflow.com/ câu hỏi/7449756/get-input-file-name-in-streaming-hadoop-program –
Cảm ơn, @PraveenSripati và @ChrisWhite, đây chính xác là những gì tôi cần! Để tuyên bố rõ ràng đối với các khách truy cập trong tương lai: 'fileName = os.environ ['map_input_file']' thực hiện thủ thuật. – Bolo