Bất cứ ai có thể giải thích cách RecordReader thực sự hoạt động? Các phương pháp nextkeyvalue()
, getCurrentkey()
và getprogress()
hoạt động sau khi chương trình bắt đầu thực hiện như thế nào?Làm việc của RecordReader trong Hadoop
9
A
Trả lời
13
(API mới): Lớp Mapper mặc định có một phương pháp chạy mà trông như thế này:
public void run(Context context) throws IOException, InterruptedException {
setup(context);
while (context.nextKeyValue()) {
map(context.getCurrentKey(), context.getCurrentValue(), context);
}
cleanup(context);
}
Các Context.nextKeyValue()
, Context.getCurrentKey()
và Context.getCurrentValue()
phương pháp hàm bao cho RecordReader
phương pháp. Xem tập tin nguồn src/mapred/org/apache/hadoop/mapreduce/MapContext.java
.
Vì vậy, vòng lặp này thực hiện và gọi phương thức map(K, V, Context)
của Trình ánh xạ của bạn.
Cụ thể, bạn muốn biết điều gì khác?
0
org.apache.hadoop.mapred.MapTask - runNewMapper()
Imp bước sau:
tạo mapper mới
được chia đầu vào cho các mapper
nhận bản ghi âm cho việc chia tách
khởi đọc kỷ lục
sử dụng đầu đọc ghi lại lặp qua getNextKeyVal() và vượt qua trọng điểm, val phương pháp bản đồ vẽ bản đồ
dọn dẹp
@ Chris..Thts rất hữu ích .. ... và bạn có thể giải thích về phân chia và hồ sơ được đưa vào ảnh trong trình ghi âm không? Tôi bị nhầm lẫn ... – Amnesiac
Tách được tạo bởi InputFormat và được lấy từ tệp đầu vào bạn chuyển vào, cho dù tệp đầu vào có thể chia nhỏ hay không và các tùy chọn khác mà bạn vượt qua như kích thước chia nhỏ nhất/tối thiểu –
Mỗi lần chia tách xử lý để sản xuất các hồ sơ được thông qua để các phương pháp bản đồ –