我使用hadoop apache创建了一个计数Bloom Filter。但是,当我尝试在其中添加键时,我得到NullPointerException。我试图以多种方式改变类结构,但我仍然得到相同的结果。 这是我做的代码:
package package_name;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import org.apache.hadoop.util.bloom.*;
public class CBF {
public static CountingBloomFilter CBF = new CountingBloomFilter();
public static void countingFilter (ArrayList<byte[]> CBF_Keys) throws IOException{
CBF_Keys= Keys.keyStringArray;
Iterator<byte[]> iter = CBF_Keys.iterator();
while (iter.hasNext()) {
byte[] temp = iter.next();
Key hadoop_key = new Key(temp, 2.0);
CBF.add(hadoop_key);
}
}
}
答案 0 :(得分:0)
问题是CBF = new CountingBloomFilter()
。我们应该使用CountingBloomFilter(int vectorSize, int nbHash, int hashType)
代替here,否则HashFunction
将不会在父类Filter
中构建。