RedisLabs / spark-redis-ml

A spark package for loading Spark ML models to Redis-ML
http://redisml.io
Other
63 stars 14 forks source link

Notice RedisML is planned to be replaced by RedisAI, adding support for deep learning.


Spark-Redis-ML

A spark package for loading Spark ML models to Redis-ML

Requirments:

Apache Spark 2.0 or later

Redis build from unstable branch

Jedis

Jedis-ml

Installation:

#get and build redis-ml
git clone https://github.com/RedisLabsModules/redis-ml.git
cd redis-ml/src
make 

#get and build jedis
git clone https://github.com/xetorthio/jedis.git
cd jedis
mvn package -Dmaven.test.skip=true

#get and build jedis-ml
cd..
git clone https://github.com/RedisLabs/jedis-ml.git
cd jedis-ml
mkdir lib
cp ../jedis/target/jedis-3.0.0-SNAPSHOT.jar lib/
mvn install 

#get and build spark-jedis-ml
cd.. 
git clone https://github.com/RedisLabs/spark-redis-ml.git
cd spark-redis-ml
cp ../jedis/target/jedis-3.0.0-SNAPSHOT.jar lib/
cp ../jedis-ml/target/jedis-ml-1.0-SNAPSHOT.jar lib/
sbt assembly

Usage:

Run Redis server with redis-ml module:

/path/to/redis-server --loadmodule ./redis-ml.so

From Spark root directory, Run Spark shell with the required jars:

./bin/spark-shell --jars ../spark-redis-ml/target/scala-2.11/spark-redis-ml-assembly-0.1.0.jar,../spark-redis-ml/lib/jedis-3.0.0-SNAPSHOT.jar,../spark-redis-ml/lib/jedis-ml-1.0-SNAPSHOT.jar

On Spark shell:

scala> :load "../spark-redis-ml/scripts/forest-example.scala"
scala> benchmark(10)