2013-08-11 2 views
0

Я использовал apoop apache для создания счетчика Bloom Filter. Однако я получаю исключение NullPointerException, когда я пытаюсь добавить в него ключи. Я попытался изменить структуру класса разными способами, но все же получаю тот же результат. Вот код, который я сделал:NullPointerException при добавлении ключей в BloomFilter

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

проблема является CBF = new CountingBloomFilter(). Мы должны использовать CountingBloomFilter(int vectorSize, int nbHash, int hashType) вместо here, иначе HashFunction не будет построен в родительском классе Filter.

Смежные вопросы