This repository implements learned Bloom filters from The Case for Learned Index Structures and sandwiched Bloom filters.
The best way to familiarize yourself with the code is to look at src/test/java/edu.mit.BloomFilter/LearnedBloomFilter/LearnedPerformanceTest.java
for the learned Bloom filter, and src/test/java/edu.mit.BloomFilter/SandwichedBloomFilter/SandwichedPerformanceTest.java
.
The following libraries should be installed:
org.apache.spark:spark-core_2.10:2.2.2
org.apache.spark:spark-mllib-local_2.10:2.2.2
org.apache.spark:spark-mllib_2.10:2.2.2
org.apache.spark:spark-sql_2.10:2.2.2
Each class has an interface and an implementation class. These are visible in src/main/java/edu.mit.BloomFilter/
.
Questions? Comments? Concerns? Email the creators at deepbloom@mit.edu!