MapReduce从Redis读取输入



我想写一个Java程序来完成MapReduce作业(例如字数)。输入来自Redis。我如何编写Map类来从Redis中一个接一个地检索,并在Map类中进行一些处理,就像我以前从HDFS中读取一样?

没有OOTB功能允许我们这样做。但你可能会发现像杰迪斯这样的东西很有帮助。Jedis是一个Java客户端,您可以使用它向Redis读/写数据。请参见此示例。

如果您没有与Java强耦合,您可能还会发现R3很有用。R3是一个使用Redis后端用python编写的map reduce引擎。

HTH

显然,您需要自定义InputFormat。请阅读本教程,了解如何编写自己的自定义InputFormat和RecordReader。

将密钥放入HDFS中。在map()中,只需根据输入键从redis进行查询。

试试Redisson它是一个基于Redis的Java内存数据网格。它允许对存储在Redis中的数据执行Map Reduce。

更多文档请点击此处。

最新更新