LibMR is a Map Reduce library that runs on top of Redis Cluster and agnostic to the deployment (oss/oss-cluster/enterpris-cluster).
The following list must be installed before compiling the library
- build-essential (or anything equavalent on you OS)
- autoconf
- libtool
- libssl-dev
- gcc-9 or above (or clang)
Clone the repository and perform the following to build the static library:
git submodule update --init --recursive
make build_deps
make MODULE_NAME=<module name as given to RedisModule_Init function>
If all is done correctly, libmr.a
file should be located under src
directory.
Other then the build prerequisite, the following list must be installed to run the tests
- python3.6 or above
- RLTest - https://github.com/RedisLabsModules/RLTest
- gevents
- redis
- rust
Clone the repository and perform the following to build and run the tests:
git submodule update --init --recursive
make clean
make build_deps
make run_tests
Notice that running the test will compile MRLib with MODULE_NAME=MRTESTS
, please do not use this compilation with any other module other then the tests module as it will not work.
Starting with Redis 8, LibMR is licensed under your choice of: (i) Redis Source Available License 2.0 (RSALv2); (ii) the Server Side Public License v1 (SSPLv1); or (iii) the GNU Affero General Public License version 3 (AGPLv3). Please review the license folder for the full license terms and conditions. Prior versions remain subject to (i) and (ii).
By contributing code to this Redis module in any form, including sending a pull request via GitHub, a code fragment or patch via private email or public discussion groups, you agree to release your code under the terms of the Redis Software Grant and Contributor License Agreement. Please see the CONTRIBUTING.md file in this source distribution for more information. For security bugs and vulnerabilities, please see SECURITY.md.