2

我想编写一个执行 MapReduce 作业的 Java 程序(例如字数统计)。输入来自 Redis。如何编写 Map 类以从 Redis 中一一检索并在 Map 类中执行一些过程,就像我之前从 HDFS 读取一样?

4

4 回答 4

2

没有允许我们这样做的 OOTB 功能。但是您可能会发现Jedis 之类的东西很有帮助。Jedis 是一个 Java 客户端,您可以使用它从 Redis 读取/写入数据。请参阅示例。

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

高温高压

于 2013-07-29T21:04:34.847 回答
1

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

于 2013-12-03T10:21:12.140 回答
0

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

于 2013-07-30T13:20:34.763 回答
0

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

更多文档在这里

于 2017-05-04T15:52:09.997 回答