2009-05-20 27 views
6

Có cách nào để kiểm soát tên tập tin đầu ra của một công việc Streaming Hadoop không? Cụ thể là tôi muốn nội dung và tên tệp đầu ra của công việc của tôi được sắp xếp theo đầu ra của bộ giảm tốc - mỗi tệp sẽ chỉ chứa các giá trị cho một khóa và tên của nó sẽ là khóa.Làm cách nào để kiểm soát tên tệp và nội dung của công việc phát trực tuyến Hadoop?

Cập nhật: Chỉ tìm thấy câu trả lời - Sử dụng lớp Java có nguồn gốc từ MultipleOutputFormat làm định dạng đầu ra công việc cho phép kiểm soát tên tệp đầu ra. http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/mapred/lib/MultipleOutputFormat.html

Tôi chưa thấy bất kỳ mẫu cho điều này ngoài kia ... bất cứ ai có thể chỉ ra một mẫu Hadoop streaming mà làm cho việc sử dụng một lớp Java định dạng đầu ra tùy chỉnh?

Trả lời

8

Sử dụng lớp Java có nguồn gốc từ MultipleOutputFormat làm định dạng đầu ra công việc cho phép kiểm soát tên tệp đầu ra. http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/mapred/lib/MultipleOutputFormat.html

Khi sử dụng Hadoop Streaming, vì chỉ có một JAR được hỗ trợ bạn thực sự phải ngã ba jar streaming và đưa lớp học định dạng đầu ra mới trong đó cho phép truyền phát công việc để có thể tham khảo nó ...

EDIT: Tính đến phiên bản 0.20.2 của hadoop Lớp này đã bị phản đối và bây giờ bạn nên sử dụng: http://hadoop.apache.org/docs/mapreduce/current/api/org/apache/hadoop/mapreduce/lib/output/MultipleOutputs.html

+1

Liên kết bị hỏng đến tài liệu mới –

-1

Nói chung, Hadoop sẽ cho bạn xem toàn bộ thư mục là đầu ra chứ không phải tệp riêng lẻ. Không có cách nào để kiểm soát trực tiếp tên tệp, cho dù sử dụng công việc Truyền trực tuyến hoặc Java thông thường.

Tuy nhiên, không có gì ngăn bạn thực hiện việc tách và đổi tên bản thân, sau khi công việc đã hoàn tất. Bạn có thể đường dẫn dfs -cat $ HADOOP/đến/của bạn/đầu ra/thư mục/part- *, và đường dẫn đến tập lệnh của bạn chia tách nội dung bằng các khóa và ghi nó vào các tệp mới.

+0

trong thats nói chung không phải là cách tiếp cận mà bạn muốn thực hiện. –

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