我有一个大小为 1TB 的文件。我们需要找到文件中 4 列的不同值。 例如,如果我们有 A、B、C、D、E、F 列等。其中我们需要找到A列中所有不同的值,并在HDFS中创建一个文件。 B、C 和 D 也类似。
注意:我们只需对 4 列执行此操作,而不是对其余列执行此操作。文件中共有 300 列。
我们需要为此编写MapReduce。解决这个问题的有效方法是什么。感谢你的帮助。谢谢。
最佳答案
让映射器为您需要唯一值的每一列输出一条记录。因此,在您的示例中, map 将(使用单个输入记录)输出 4 条记录,键为 A、B、C、D。
在reducer中你可以处理所有的值。
根据您需要的详细信息,您可能需要使用如下所示的键:“A:A 列的值”
关于java - 在hadoop中查找不同列的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15045753/