Sự khác biệt cơ bản giữa MapReduce Split và khối HDFS là gì?


Câu trả lời 1:

Trước khi hiểu sự khác biệt, trước tiên chúng ta hãy hiểu MapReduce Split và khối HDFS là gì:

1) Chia tệp thành các khối (khối HDFS) - Khi tệp được ghi vào HDFS, HDFS chia tệp thành các khối và đảm nhiệm việc sao chép tệp. Điều này được thực hiện một lần (hầu hết), và sau đó có sẵn cho tất cả các công việc MR đang chạy trên cụm. Đây là một cấu hình rộng cụm

Thứ hai -

2) Tách một tệp thành các phần tách đầu vào (Tách) - Khi đường dẫn đầu vào được truyền vào một công việc MR, công việc MR sử dụng đường dẫn cùng với định dạng đầu vào được định cấu hình để chia các tệp được chỉ định trong đường dẫn đầu vào thành các phần tách, mỗi phần tách là được xử lý bởi một nhiệm vụ bản đồ. Tính toán phân chia đầu vào được thực hiện theo định dạng đầu vào mỗi khi công việc được thực thi

Một số điểm tôi muốn thêm vào như một kết luận giữa Khối HDFS và Phân chia đầu vào

  1. Chia là một phân chia logic của dữ liệu đầu vào trong khi khối là phân chia vật lý của dữ liệu đầu vào. Kích thước khối mặc định của DFS là kích thước phân chia mặc định nếu phân tách đầu vào không được chỉ định. Người dùng xác định và người dùng có thể kiểm soát kích thước phân chia trong chương trình Map / Giảm của mình Sự phân chia .One có thể được ánh xạ thành nhiều khối và có thể có nhiều lần phân chia một khối. Số lượng tác vụ bản đồ bằng với số lần phân tách.

Câu trả lời 2:

Khối HDFS

1) Khối là vị trí liên tục trên ổ cứng nơi lưu trữ dữ liệu HDFS. Nói chung, FileSystem lưu trữ dữ liệu dưới dạng tập hợp các khối. Theo cách tương tự, HDFS lưu trữ mỗi tệp dưới dạng các khối và phân phối nó trên cụm Hadoop.

2) Đây là biểu diễn vật lý của dữ liệu.

3) Khối kích thước- Kích thước mặc định của khối HDFS là 128 MB, được định cấu hình theo yêu cầu của chúng tôi. Tất cả các khối của tệp có cùng kích thước ngoại trừ khối cuối cùng. Khối cuối cùng có thể có cùng kích thước hoặc nhỏ hơn.

Mapreduce InputSplit

1) InputSplit đại diện cho dữ liệu mà Mapper cá nhân sẽ xử lý. Chia nhỏ hơn nữa chia thành hồ sơ. Mỗi bản ghi (là một cặp khóa-giá trị) sẽ được xử lý theo bản đồ.

2) Đây là biểu diễn logic của dữ liệu. Do đó, trong quá trình xử lý dữ liệu trong chương trình MapReduce hoặc các kỹ thuật xử lý khác, hãy sử dụng InputSplit. Trong MapReduce, điều quan trọng là InputSplit không chứa dữ liệu đầu vào. Do đó, nó chỉ là một tài liệu tham khảo cho dữ liệu.

3) Theo mặc định, kích thước InputSplit- Kích thước chia xấp xỉ bằng kích thước khối.


Câu trả lời 3:

Một khối là cách bên trong tệp được phân tách ở mức lưu trữ. DataNodes lưu trữ các khối và các khối đại diện cho một tệp.

Một phân chia đơn giản là cách phương thức InputFormat getSplits () quyết định phân vùng đầu vào. Ví dụ, định dạng đầu vào có thể trả về 1 lần chia cho tất cả các tệp. 1 lần chia cho mỗi thư mục, 1 lần chia cho mỗi tệp hoặc của chính tệp được chia có thể chia nhiều lần cho một tệp.

Việc tính toán phân chia dựa trên phương pháp phỏng đoán và thường có thể điều chỉnh như một phép chia là một sự thống nhất song song.