Phương thức run()
của lớp bản đồ hoặc bộ giảm tốc được gọi là khung công tác Hadoop như thế nào? Khuôn khổ đang gọi phương thức run()
, nhưng nó đòi hỏi một đối tượng bối cảnh để Hadoop truyền đối tượng đó như thế nào? Thông tin nào nằm trong đối tượng đó?Đối tượng bối cảnh Hadoop Mapper Đối tượng ngữ cảnh
Trả lời
Phương thức run() sẽ được gọi bằng cách sử dụng tính đa hình thời gian chạy Java (nghĩa là ghi đè phương pháp). Như bạn có thể thấy dòng # 569 trên liên kết bên dưới, trình ánh xạ/bộ giảm tốc mở rộng sẽ được khởi tạo bằng cách sử dụng API phản chiếu Java. Lớp MapTask được tên của mở rộng mapper/giảm từ đối tượng cấu hình Job mà chương trình khách hàng có thể đã được cấu hình mở rộng lớp mapper/giảm tốc sử dụng job.setMapperClass()
Sau đây là đoạn code lấy từ Hadoop Source MapTask.java
mapperContext = contextConstructor.newInstance(mapper, job, getTaskID(),
input, output, committer,
reporter, split);
input.initialize(split, mapperContext);
mapper.run(mapperContext);
input.close();`
Dòng # 621 là một ví dụ về đa hình thời gian chạy. Trên dòng này, MapTask gọi phương thức run() của trình ánh xạ được cấu hình với 'Mapper Context' làm tham số. Nếu run() không được mở rộng, nó gọi phương thức run() trên org.apache.hadoop.mapreduce.Mapper
mà lại gọi phương thức map() trên trình ánh xạ được cấu hình.
Trên dòng # 616 của liên kết ở trên, MapTask tạo đối tượng bối cảnh với tất cả chi tiết cấu hình công việc, v.v. được đề cập bởi @harpun và sau đó chuyển sang phương thức run() trên dòng # 621.
Giải thích ở trên phù hợp để giảm nhiệm vụ cũng như với lớp ReduceTask thích hợp làm lớp nhập chính.
Có, phương thức run()
của người lập bản đồ được gọi là khung MR khi chạy thử nhiệm vụ bản đồ. Theo như bối cảnh có liên quan, hãy xem tài liệu cho Mapper.Context, đặc biệt là các giao diện được triển khai và javadocs của chúng cung cấp cho bạn tổng quan đầy đủ về thông tin chứa trong ngữ cảnh. Qua bối cảnh, bạn có thể truy cập dữ liệu như:
- thông tin việc làm (cấu hình việc làm, tên mapper/giảm tốc lớp, tên công việc, working directory)
- tình trạng của các nỗ lực công việc hiện thực
- then chốt hiện nay, giá trị, phân tách đầu vào (thông tin cụ thể về tác vụ bản đồ)
Tất nhiên đối tượng ngữ cảnh tương tự tồn tại cho Giảm tốc: Reducer.Context.
- 1. Bối cảnh được quản lý đối tượng bối cảnh Staggers UI Animation
- 2. Đối tượng ngữ cảnh LINQ không đăng ký như một loại đối tượng System.IDisposable
- 3. mẫu thiết kế đối tượng ngữ cảnh là gì?
- 4. CoreData: Lấy một đối tượng từ một bối cảnh chưa được lưu
- 5. Đề xuất thiết kế bối cảnh đối tượng được quản lý dữ liệu lõi
- 6. jQuery thêm() chức năng và bối cảnh của jQuery đối tượng
- 7. Scala/Hadoop: Chỉ định bối cảnh cho giảm tốc
- 8. Dữ liệu chính hợp nhất hai bối cảnh đối tượng được quản lý
- 9. Tôi có thể xóa bối cảnh đối tượng được quản lý không?
- 10. Làm cách nào để dọn dẹp bối cảnh đối tượng Khung thực thể?
- 11. PHP isset ($ this) và sử dụng cùng một phương thức đối tượng trong ngữ cảnh tĩnh và đối tượng
- 12. SharedPreferences bối cảnh ứng dụng và bối cảnh hoạt động
- 13. Đồng bộ hóa chủ đề bối cảnh đối tượng được quản lý dữ liệu lõi
- 14. Handlebars.js - Nhận bối cảnh gốc trong vòng lặp, câu lệnh if và đối tượng con
- 15. Cách lấy đối tượng sau khi bối cảnh CoreData sáp nhập
- 16. Không thể tạo ngữ cảnh đối tượng được quản lý trên iOS
- 17. Làm cách nào để hợp nhất các thay đổi từ một bối cảnh đối tượng được quản lý con cho một ngữ cảnh khác thông qua MOC mẹ?
- 18. IIFE bối cảnh vấn đề
- 19. Hadoop: Lỗi trong cấu hình đối tượng
- 20. Làm thế nào để phân biệt nếu đối tượng bối cảnh nhất định là một Hoạt động hoặc một bối cảnh dịch vụ?
- 21. Cà phê kịch bản - bảo bối cảnh lớp học và bối cảnh sự kiện
- 22. Bối cảnh trong một PreferenceFragment
- 23. EDI x12 mapper cho C# nguồn dữ liệu đối tượng
- 24. dump jquery đối tượng trong một hộp cảnh báo
- 25. làm thế nào để cảnh báo javascript đối tượng
- 26. Đối tượng chuyển dữ liệu trong PHP, rất nhiều lớp có cùng tên theo ngữ cảnh
- 27. Entity Framework: Tìm lại các đối tượng gần đây được thêm vào ngữ cảnh
- 28. Dữ liệu lõi iPhone: Khởi tạo đối tượng được quản lý mà không có ngữ cảnh
- 29. Xử lý ngữ cảnh đối tượng trong khung thực thể 4
- 30. Array_filter trong ngữ cảnh của một đối tượng, với gọi lại riêng
cảm ơn niranjan u plz có thể giải thích tất cả các lớp khung công tác hadoop được thực hiện trong khi chạy bất kỳ công việc đơn giản nào không ?? –
Nó không phải là một câu trả lời đơn giản. Có rất nhiều lớp khung công tác hadoop liên quan đến đó thực sự là toàn bộ lớp phần mềm được thực hiện trước khi các lớp mở rộng được gọi. Tôi sẽ đề nghị tải xuống và đính kèm các nguồn hadoop vào IDE của bạn và sau đó gỡ lỗi bất kỳ công việc nào để hiểu các lớp cấp cao được sử dụng trong ngăn xếp cuộc gọi. –
@NiranjanSarvi, Bạn có thể cho biết lớp MapTask tạo đối tượng của lớp khác là lớp ngữ cảnh không? Có bất kỳ mối quan hệ nào giữa lớp MapTask và lớp Ngữ cảnh bởi vì trong thư viện Context class là một lớp trừu tượng và thậm chí không được lớp Maptask triển khai? Nó đến từ bất kỳ cách nào khác? – Kate