Video: Video 1 Hướng dẫn tách lô trong mapinfo 2025
Cách HDFS đã được thiết lập, chia nhỏ các tệp tin lớn thành các khối lớn (ví dụ 128MB) và lưu trữ ba bản sao của các khối này trên các nút khác nhau trong cluster HDFS không nhận thức được nội dung của các tệp tin này
Trong YARN, khi một công việc MapReduce được bắt đầu, Resource Manager (quản lý tài nguyên cụm và thiết lập lập kế hoạch công việc)) tạo ra một daemon Master của ứng dụng để theo dõi vòng đời của công việc (Trong Hadoop 1, JobTracker giám sát các công việc cá nhân cũng như xử lý lập kế hoạch công việc và quản lý tài nguyên cụm)
cục bộ - trên nút nô lệ nơi nó được lưu trữ. Trước khi xem các khối dữ liệu được xử lý như thế nào, bạn cần phải nhìn kỹ hơn về cách Hadoop lưu trữ dữ liệu. Trong Hadoop, các tệp tin bao gồm các hồ sơ cá nhân, các tệp này cuối cùng được xử lý từng phần một bằng các tác vụ lập bản đồ.
Ví dụ: bộ dữ liệu mẫu chứa thông tin về các chuyến bay đã hoàn thành ở Hoa Kỳ từ năm 1987 đến năm 2008.
Bạn có một tệp lớn cho mỗi năm và trong mỗi tệp, mỗi dòng cá thể đại diện cho một chuyến bay. Nói cách khác, một dòng đại diện cho một bản ghi. Bây giờ, hãy nhớ rằng kích thước khối cho cụm Hadoop là 64MB, có nghĩa là các tệp dữ liệu ánh sáng được chia thành các khối chính xác 64MB.
Bạn có thấy sự cố không? Nếu mỗi nhiệm vụ bản đồ xử lý tất cả các bản ghi trong một khối dữ liệu cụ thể, điều gì sẽ xảy ra với các bản ghi đó kéo dài ranh giới khối? Tập tin khối là chính xác 64MB (hoặc bất cứ điều gì bạn thiết lập kích thước khối sẽ được), và bởi vì HDFS không có khái niệm về những gì bên trong các khối tập tin, nó không thể đánh giá khi một kỷ lục có thể tràn qua một khối khác.
Để giải quyết vấn đề này, Hadoop sử dụng một biểu diễn hợp lý các dữ liệu được lưu trữ trong các khối tập tin, được gọi là
đầu vào phân chia . Khi một khách hàng làm việc MapReduce tính toán các đầu vào chia tách, nó tìm ra nơi mà toàn bộ toàn bộ đầu tiên trong một khối bắt đầu và nơi mà các bản ghi cuối cùng trong khối kết thúc. Trong trường hợp bản ghi cuối cùng trong khối không đầy đủ, phân chia đầu vào bao gồm thông tin vị trí cho khối kế tiếp và byte offset của dữ liệu cần thiết để hoàn thành bản ghi.
Hình ảnh cho thấy mối quan hệ giữa các khối dữ liệu và sự phân tách đầu vào.
Bạn có thể cấu hình daemon Master của ứng dụng (hoặc JobTracker, nếu bạn đang ở trong Hadoop 1) để tính toán sự phân chia đầu vào thay vì ứng dụng công việc, sẽ nhanh hơn cho các công việc xử lý một số lượng lớn các khối dữ liệu.
Xử lý dữ liệu MapReduce được điều khiển bởi khái niệm phân chia đầu vào. Số lượng đầu vào chia được tính cho một ứng dụng cụ thể xác định số lượng các tác vụ lập bản đồ. Mỗi nhiệm vụ lập bản đồ được gán, nếu có thể, với nút nô lệ, nơi phân chia đầu vào được lưu trữ. Người quản lý tài nguyên (hoặc JobTracker, nếu bạn ở Hadoop 1) sẽ cố gắng hết sức để đảm bảo việc phân chia đầu vào được xử lý cục bộ.