2 câu hỏi cơ bản mà rắc rối cho tôi:Làm thế nào để hive/hadoop đảm bảo rằng mỗi trình ánh xạ hoạt động trên dữ liệu cục bộ cho nó?
- Làm thế nào tôi có thể chắc chắn rằng mỗi người trong 32 file hive sử dụng để lưu trữ bảng của tôi ngồi trên máy tính độc đáo của nó?
- Nếu điều đó xảy ra, làm thế nào tôi có thể chắc chắn rằng nếu tổ ong tạo ra 32 người lập bản đồ, mỗi người trong số họ sẽ làm việc trên dữ liệu cục bộ của nó? Hadoop/hdfs có đảm bảo phép thuật này hay tổ chức làm ứng dụng thông minh đảm bảo rằng nó sẽ xảy ra?
Bối cảnh: Tôi có một cụm hive của 32 máy, và:
- Tất cả các bảng của tôi được tạo ra với
"CLUSTERED BY(MY_KEY) INTO 32 BUCKETS"
- tôi sử dụng
hive.enforce.bucketing = true;
- tôi xác minh và thực sự mỗi bảng được lưu trữ dưới dạng 32 tệp trong người dùng/hive/warehouse
- Tôi đang sử dụng hệ số nhân rộng HDFS của 2
Cảm ơn!
Theo mặc định HDFS sao chép chặn ba lần (cùng một nút và hai nút khác, tốt nhất là ở giá khác). – cftarnas
ok, cảm ơn, trong ánh sáng của câu trả lời của bạn Tôi rephrased và hỏi một câu hỏi mới mô tả tốt hơn vấn đề của tôi: http://stackoverflow.com/questions/6953383/is-a-collocated-join-a-la-netezza-theoretically -possible-in-hive – ihadanny
@SpikeGronim bạn có thể cung cấp thông tin chi tiết về câu hỏi Hadoop này không? [Có thể hạn chế công việc MapReduce truy cập dữ liệu từ xa không?] (Http://stackoverflow.com/q/31789176/320399) – blong