我使用hadoopapache创建了一个计数bloom过滤器。但是,当我尝试在其中添加键时,会得到一个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);
}
}
}
1条答案
按热度按时间3mpgtkmj1#
问题是
CBF = new CountingBloomFilter()
. 我们应该使用CountingBloomFilter(int vectorSize, int nbHash, int hashType)
而不是在这里,否则HashFunction
不会在父类中构造Filter
.