@Override public boolean membershipTest(Key key) { if (key == null) { return true; } for (int i = 0; i < matrix.length; i++) { if (matrix[i].membershipTest(key)) { return true; } } return false; }
@Override public boolean membershipTest(Key key) { if (key == null) { return true; } for (int i = 0; i < matrix.length; i++) { if (matrix[i].membershipTest(key)) { return true; } } return false; }
@Override public boolean membershipTest(Key key) { if (key == null) { return true; } for (int i = 0; i < matrix.length; i++) { if (matrix[i].membershipTest(key)) { return true; } } return false; }
@Override public boolean membershipTest(Key key) { if (key == null) { return true; } for (int i = 0; i < matrix.length; i++) { if (matrix[i].membershipTest(key)) { return true; } } return false; }
@Override public boolean membershipTest(Key key) { if (key == null) { return true; } for (int i = 0; i < matrix.length; i++) { if (matrix[i].membershipTest(key)) { return true; } } return false; }
@Override public boolean membershipTest(Key key) { if (key == null) { return true; } for (int i = 0; i < matrix.length; i++) { if (matrix[i].membershipTest(key)) { return true; } } return false; }
@Override protected void map(Text key, Text value, Context context) throws IOException, InterruptedException { System.out.println("K[" + key + "]"); if(filter.membershipTest(new Key(key.toString().getBytes()))) { context.write(key, value); } } }
public boolean mightContain(String key) { if (key == null) { throw new NullPointerException("Key cannot by null"); } return filter.membershipTest(new Key(key.getBytes(StandardCharsets.UTF_8))); }
public void map(Object key, Text value, Context context) throws IOException, InterruptedException { Map<String, String> parsed = MRDPUtils.transformXmlToMap(value .toString()); String userId = parsed.get("UserId"); if (userId == null) { return; } if (bfilter.membershipTest(new Key(userId.getBytes()))) { outkey.set(userId); outvalue.set("B" + value.toString()); context.write(outkey, outvalue); } } }
@Override public void map(Object key, Text value, Context context) throws IOException, InterruptedException { Map<String, String> parsed = transformXmlToMap(value.toString()); String body = parsed.get("Text"); if (isNullOrEmpty(body)) { return; } StringTokenizer tokenizer = new StringTokenizer(body); while (tokenizer.hasMoreTokens()) { String word = tokenizer.nextToken(); if (filter.membershipTest(new Key(word.getBytes()))) { context.write(value, NullWritable.get()); break; } } } }
private boolean isKeyInBloomFilter(Object key) throws ExecException { if (key == null) { // Null values are dropped in a inner join and in the case of outer join, // POBloomFilterRearrangeTez is only in the plan on the non outer relation. // So just skip them return false; } if (bloomFilters.length == 1) { // Skip computing hashcode Key k = new Key(DataType.toBytes(key, keyType)); return bloomFilters[0].membershipTest(k); } else { int partition = (key.hashCode() & Integer.MAX_VALUE) % numBloomFilters; BloomFilter filter = bloomFilters[partition]; if (filter != null) { Key k = new Key(DataType.toBytes(key, keyType)); return filter.membershipTest(k); } return false; } }
@Override public boolean accept(final Key key, final Value value) { byte[] vertices = key.getRowData().getBackingArray(); int pos = -1; for (int i = vertices.length - 3; i > 0; --i) { if (vertices[i] == ByteArrayEscapeUtils.DELIMITER) { pos = i; break; } } if (pos == -1) { return true; } return filter.membershipTest(new org.apache.hadoop.util.bloom.Key(Arrays.copyOfRange(vertices, pos + 1, vertices.length - 2))); }
@Override public boolean accept(Pair<K, V> input) { Key key = new Key(keyToBytesFn.map(input.first())); return bloomFilter.membershipTest(key); } }
@Override protected boolean secondaryCheck(final Element elm) { if (Entity.class.isInstance(elm)) { return true; } final Edge edge = (Edge) elm; final Object source = edge.getSource(); final Object destination = edge.getDestination(); final boolean sourceIsInCurrent = currentSeeds.contains(source); boolean destMatchesClientFilter; try { destMatchesClientFilter = clientSideFilter.membershipTest( new Key(elementConverter.serialiseVertex(destination))); } catch (final AccumuloElementConversionException e) { return false; } if (sourceIsInCurrent && destMatchesClientFilter) { return true; } final boolean destIsInCurrent = currentSeeds.contains(destination); boolean sourceMatchesClientFilter; try { sourceMatchesClientFilter = clientSideFilter.membershipTest( new Key(elementConverter.serialiseVertex(source))); } catch (final AccumuloElementConversionException e) { return false; } return destIsInCurrent && sourceMatchesClientFilter; } }
if(toCompare.value.getBloomTransactionKeys().membershipTest(toCheck.key)) { if(!potentialSiblings.containsKey(toCheck.key)) { potentialSiblings.put(toCheck.key, new ArrayList<Long>());
destMatchesClientFilter = clientSideFilter.membershipTest( new Key(elementConverter.serialiseVertex(destination))); } catch (final AccumuloElementConversionException e) { sourceMatchesClientFilter = clientSideFilter.membershipTest( new Key(elementConverter.serialiseVertex(source))); } catch (final AccumuloElementConversionException e) {
@Override public Boolean exec(Tuple input) throws IOException { if (filter == null) { init(input); } byte[] b; if (bloomFile == null) { // The first one is the bloom filter. Skip that if (input.size() == 2) { b = DataType.toBytes(input.get(1)); } else { List<Object> inputList = input.getAll(); Tuple tuple = mTupleFactory.newTupleNoCopy(inputList.subList(1, inputList.size())); b = DataType.toBytes(tuple, DataType.TUPLE); } } else { if (input.size() == 1) { b = DataType.toBytes(input.get(0)); } else { b = DataType.toBytes(input, DataType.TUPLE); } } Key k = new Key(b); return filter.membershipTest(k); }
@Override public void compute( Vertex<LongWritable, NullWritable, DoubleWritable> vertex, Iterable<LongIdBloomFilter> messages) throws IOException { for (LongIdBloomFilter msg : messages) { LongWritable src = msg.getSourceId(); BloomFilter filter = msg.getMessage(); DoubleWritable edgeValue = vertex.getEdgeValue(src); assert(edgeValue!=null); long totalFriends = msg.getNumElements(); long commonFriends = 0; for (Edge<LongWritable, DoubleWritable> e : vertex.getEdges()) { Key k = new Key(Longs.toByteArray(e.getTargetVertexId().get())); if (filter.membershipTest(k)) { // This is a common friend commonFriends++; } else { totalFriends++; } } // The Jaccard similarity is commonFriends/totalFriends // If the edge to the vertex with ID src does not exist, which is the // case in a directed graph, this call has no effect. vertex.setEdgeValue(src, new DoubleWritable( (double)Math.min(commonFriends, totalFriends)/(double)totalFriends)); } if (!conversionEnabled) { vertex.voteToHalt(); } } }
&& alreadyIndexedTerms.membershipTest(alreadySeen = new org.apache.hadoop.util.bloom.Key(indexedTermAndZone.getToken().getBytes()))) { if (log.isDebugEnabled()) { log.debug("Not creating index mutations for " + termAndZone + " as we've already created mutations for it.");
@Override public void compute( Vertex<LongWritable, DoubleWritable, DoubleWritable> vertex, Iterable<LongIdAndValueBloomFilter> messages) throws IOException { for (LongIdAndValueBloomFilter msg : messages) { DoubleWritable partialValue = msg.getVertexValue(); BloomFilter filter = msg.getNeighborsList(); for (Edge<LongWritable, DoubleWritable> e : vertex.getEdges()) { Key k = new Key(Longs.toByteArray(e.getTargetVertexId().get())); if (filter.membershipTest(k)) { // common neighbor DoubleWritable currentEdgeValue = vertex.getEdgeValue(e.getTargetVertexId()); // add up the partial value to the current sum vertex.setEdgeValue(e.getTargetVertexId(), new DoubleWritable (currentEdgeValue.get() + partialValue.get())); } } } if (!conversionEnabled) { vertex.voteToHalt(); } } }