2013-08-23 22 views
13

hi tôi muốn biết sự khác biệt cơ bản giữa jobconf và công việc của các đối tượng, hiện tôi đang trình công việc của tôi như thế nàysự khác biệt cơ bản giữa jobconf và công việc là gì?

JobClient.runJob(jobconf); 

tôi thấy cách nào khác nộp công việc như thế này

Configuration conf = getConf(); 
Job job = new Job(conf, "secondary sort"); 
job.waitForCompletion(true);  
return 0; 

và làm thế nào có thể tôi xác định lớp sortcomparator cho công việc bằng cách sử dụng jobconf?

bất kỳ ai có thể giải thích cho tôi khái niệm này không?

Trả lời

20

Nói tóm lại: JobConf và mọi thứ khác trong gói org.apache.hadoop.mapred là một phần của API cũ sử dụng để viết các tác vụ Hadoop, Job và tất cả mọi thứ trong gói org.apache.hadoop.mapreduce là một phần của API mới và ưa thích để viết tác vụ Hadoop. Cả hai API thường cung cấp chức năng cốt lõi tương đương.

Nếu bạn chưa quen với hadoop, chỉ cần bắt đầu sử dụng API mới (ví dụ: JobConfiguration thay vì JobConf). Đảm bảo không nhập bất kỳ thứ gì từ gói mapred. Khi bạn tìm thấy các ví dụ trên internet bằng API cũ, bạn có thể sử dụng this presentation hoặc this guide để dịch nó sang API mới.

3

Trong cấu hình công việc API cũ được thực hiện bởi đối tượng JobConf. Trong API mới, cấu hình công việc được thực hiện thông qua một đối tượng Cấu hình.

Kiểm soát công việc được thực hiện thông qua lớp Công việc trong API mới, thay vì cũ JobClient, không còn tồn tại trong API mới nữa.

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