我有一个相当简单的 hadoop 问题,我将尝试用一个例子来介绍
假设您有一个字符串列表和一个大文件,并且您希望每个映射器在类似 grep 的程序中处理一段文件和一个字符串。
你应该怎么做?我的印象是映射器的数量是产生的 inputSplits 的结果。我可以运行后续作业,每个字符串一个,但它似乎有点......凌乱?
编辑:我实际上并没有尝试构建 grep map reduce 版本。我用它作为一个映射器有 2 个不同输入的例子。假设我列出了 A 和 B,并希望映射器处理列表 A 中的 1 个元素和列表 B 中的 1 个元素
因此,鉴于该问题没有导致需要链接作业的数据依赖性,我唯一的选择是以某种方式在所有映射器上共享所有列表 A,然后将列表 B 的 1 个元素输入到每个映射器?
我想要做的是为我的数据构建某种类型的前缀查找结构。所以我有一个巨大的文本和一组字符串。这个过程有很强的内存瓶颈,因此我在每个映射器之后使用 1 块文本/1 个字符串