- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
分区是确定哪个 reducer 实例将接收哪些中间键和值的过程。每个映射器必须为其所有输出(键、值)对确定哪个缩减器将接收它们。有必要对于任何键,无论哪个映射器实例生成它,目标分区都是相同的问题:hadoop是怎么做到的?使用哈希函数?默认功能是什么?
1 Câu trả lời
Hadoop 中的默认分区器是 HashPartitioner
,它有一个名为 getPartition
的方法。它采用 key.hashCode() & Integer.MAX_VALUE
并使用 reduce 任务的数量找到模数。
例如,如果有 10 个 reduce 任务,getPartition
将为所有键返回 0 到 9 的值。
Mã như sau:
public class HashPartitioner extends Partitioner {
public int getPartition(K key, V value, int numReduceTasks) {
return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks;
}
}
要创建自定义分区器,您可以扩展 Partitioner
,创建一个方法 getPartition
,然后在驱动程序代码中设置您的分区器 (job.setPartitionerClass(CustomPartitioner .class);
).例如,这在进行二次排序操作时特别有用。
关于hadoop - 分区! hadoop是怎么做到的?使用哈希函数?默认功能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18470833/
Tôi nhận được thông báo lỗi này: .rvm/gems/ruby-2.5.1/bin/ruby_executable_hooks:24:in `' Tôi đã cài đặt lại Ruby rvm reinstall ruby-2.5
Tôi đang bắt đầu làm việc về phát triển Ribbon WPF, nó khá tốt! Vấn đề của tôi là tìm các biểu tượng cơ bản (miễn phí) (như lưu/mở tệp/v.v., cắt/dán/v.v.). Bạn đề xuất món gì? Câu trả lời hay nhất Bạn đã thấy Visual Studio Icon Library chưa?
Tôi chỉ tìm thấy ID âm thanh cổ điển, nhưng tôi cần báo thức lịch Chord (mặc định). Làm thế nào để phát ra âm thanh? ks #define systemSoundID 1315 AudioServicesPlaySystemSound (s
Khi bạn tạo một lô hàng trong Magento, sẽ có một hộp kiểm cho phép bạn "Gửi một bản sao của lô hàng qua email". Không được chọn theo mặc định. Có ai biết tôi cần chỉnh sửa file nào để nó được "chọn" theo mặc định không? Câu trả lời hay nhất: Đây là một ứng dụng/thiết kế/quản trị
Tôi có một IValueConverter đơn giản chỉ sử dụng TypeConverter để thực hiện chuyển đổi. Tuy nhiên, trong một số trường hợp, TypeConverter được cung cấp sẽ không thành công. Nếu bộ chuyển đổi không cung cấp một liên kết, tôi muốn
Tôi đang đọc một hướng dẫn và theo mặc định thì Activity là một lớp mở rộng một lớp khác và tất cả những gì nó có là một phương thức được ghi đè. Làm sao ứng dụng có thể hoạt động khi nó không làm được bất cứ việc gì khác? Tôi bối rối quá! Câu trả lời hay nhất Hoạt động chính sẽ xử lý mọi thứ cho bạn. Về
Tôi vừa bắt đầu làm việc trên một khuôn khổ trò chơi. Tôi đang cố gắng xây dựng một API REST và sử dụng postgresql để kết nối cơ sở dữ liệu của mình. Đây là lần đầu tiên tôi sử dụng play và postgre cùng nhau. Tôi đã tạo một dữ liệu trong build.sbt
Có thể tạo một đối tượng python với các thuộc tính sau không: class Foo: def __default_method__(x): return xf = Foo() f(10) > 10
Tôi mới làm quen với jQuery và gặp phải một vấn đề khó chịu. Tôi có một số trường đăng nhập được điền bằng văn bản mặc định khi trường đó để trống, sau đó xóa đi khi nhấp vào. Vấn đề của tôi là khi người dùng đã lưu tên người dùng/mật khẩu của họ (sử dụng trình duyệt), nếu họ quay lại trang, đã đăng nhập
Hãy xem xét đoạn mã sau: void Foo(std::string str1, std::string str2) {} template void Bar() { Foo(Types{}...);
Tôi đang viết một chương trình C đơn giản và tôi phải xử lý lỗi tràn bộ đệm. Vì vậy, tôi không muốn sử dụng bất kỳ cờ nào khi biên dịch. Làm thế nào tôi có thể loại bỏ các cờ mặc định được sử dụng? # readelf -p .GCC.command.line stack Str
Hãy xem xét đoạn mã sau: void Foo(std::string str1, std::string str2) {} template void Bar() { Foo(Types{}...);
Tôi có đoạn mã sau [đây là câu hỏi phỏng vấn]: #include #include sử dụng không gian tên std; lớp A{ public: A(){ cout co
Tôi muốn tạo một phiên bản cho mỗi đăng ký phạm vi trọn đời phù hợp trong Autofac, nhưng đôi khi cần yêu cầu một phiên bản từ vùng chứa toàn cục (không có phạm vi trọn đời phù hợp). Trong trường hợp không có phạm vi thời gian sống phù hợp, tôi muốn cung cấp một thể hiện cấp cao nhất thay vì đưa ra ngoại lệ.
Tôi đang thực hiện một phiên bản sửa đổi của việc thu thập các từ xuất hiện đồng thời, vì vậy tôi đã viết javascript của riêng mình và theo dõi các lần xuất hiện trong ba đối tượng. Tuy nhiên, một khi các đối tượng trở nên lớn hơn (khoảng 8 triệu, 3 triệu và 172.000), thì cứ 100.000 câu thì cần
Tôi đang sử dụng KalmanFilter từ mô-đun pykalman và tôi đang tự hỏi nó xử lý các quan sát bị thiếu như thế nào. Theo tài liệu: Trong các hệ thống thế giới thực, thường có
Tôi có một Canvas được áp dụng RenderTransform, như thế này: Có ai có thể cho tôi biết những giá trị này có nghĩa là gì không? Có vẻ như tôi không thể tìm thấy công cụ chuyển đổi để phân tích các giá trị này. Câu trả lời tốt nhất là T
Tôi mới sử dụng Linux và hiện đang sử dụng CentOS 6. Tôi đang sử dụng MySQL Workbench và bất cứ khi nào tôi thử thêm kết nối mới, nó đều yêu cầu tôi nhập mật khẩu khóa mặc định. Tôi thực sự không biết mật khẩu này được đặt ở đâu. Trước đây tôi chưa từng đặt.
Tôi đang sử dụng Ubuntu 18.04. Tôi không định nghĩa GL_GLEXT_PROTOTYPES. Tôi tải các hàm OpenGL "cốt lõi" bằng glXGetProcAddress. Ứng dụng của tôi được liên kết đến /usr/li
Tôi làm theo ví dụ trong tài liệu để thêm hỗ trợ cho việc tải các trang web HTTPS bằng asio, nghĩa là tôi gọi ctx.set_default_verify_paths(); để sử dụng đường dẫn mặc định của hệ thống để tra cứu chứng chỉ. Tuy nhiên, tôi nhận được: una
Tôi là một lập trình viên xuất sắc, rất giỏi!