cuốn sách gpt4 ai đã làm

hadoop - di chuyển số lượng lớn tệp từ hdfs sang hdfs

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 15:38:34 42 4
mua khóa gpt4 Nike

Tôi cần di chuyển (không sao chép) một số lượng lớn tệp từ thư mục hdfs này sang thư mục hdfs khác trong cùng một cụm.

Tôi có thể sử dụng distcp nhưng có vẻ hơi quá mức cần thiết vì nó đang sao chép tệp (sao chép nó) Tôi chỉ muốn移动Nó. Hai câu hỏi:

A) Có gì ở đó không:

Tôi muốn sử dụng mapreduce để thực hiện việc này vì có hàng triệu tệp cần được di chuyển (hoặc đổi tên thành đường dẫn mới). Tôi cũng muốn tích hợp nó với oozie. Tôi có thể tự mình viết một công việc mapreduce, nhưng tôi muốn biết liệu có thứ gì đó có thể thực hiện được công việc đó hay không.

B) Tôi có thực sự cần phải làm những gì mapred không?

Thật không may, tôi không biết đủ về các đặc tính hiệu suất của việc đổi tên HDFS; bạn có nghĩ rằng tôi có thể đổi tên tệp thông qua phương pháp đơn luồng không?

câu trả lời hay nhất

Bản thân việc di chuyển này là hiệu quả vì nó chỉ ở cấp độ siêu dữ liệu (tức là inode), chứ không phải ở cấp độ dữ liệu. Nói cách khác, thực hiện một nước đi (được gọi trong mã nội bộ của Hadoop đổi tên,而不是 di chuyển) nhanh hơn nhiều so với việc sao chép dữ liệu. bạn có thể xem quasource code , trong trường hợp bạn quan tâm đến chi tiết.

Vì vậy, bạndistcp không nên được thực thi, vì đó sẽ là bản sao thực sự của dữ liệu. Nếu bạn muốn song song hóa nó (vì bạn đang nói về hàng triệu tệp), sẽ không quá khó khăn khi sử dụng tính năng phát trực tuyến hadoop:

  1. Viết một số tệp chứa danh sách các tệp sẽ được đổi tên (nguồn + đích), mỗi tệp một dòng.
  2. Viết tập lệnh shell thực hiện đổi tên (lệnh hdfs) cho mỗi dòng nó đọc trên stdin mv).
  3. Với tính năng phát trực tuyến: các tệp và tệp của bạn là đầu vào và tập lệnh shell của bạn là trình ánh xạ.

Có cái gì ngoài đó à?

Tôi không biết, nhưng có thể có.

Tôi có thực sự cần phải làm điều này như được ánh xạ không?

Nếu bạn có hàng triệu tệp, ngay cả khi việc đổi tên HDFS có hiệu quả, độ trễ liên hệ với nút tên sẽ tăng lên. Nhưng, nếu đây là việc xảy ra một lần, tôi muốn đăng một phương thức đơn luồng và chờ đợi, vì việc viết và gỡ lỗi (ngay cả mã đơn giản) cũng mất một lúc. Nếu bạn dự định thực hiện việc này thường xuyên (tại sao?), thì tôi sẽ cân nhắc triển khai phương pháp mà tôi đã mô tả ở trên.

Về hadoop - di chuyển số lượng lớn tệp từ hdfs sang hdfs, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/20978428/

42 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress