java - 在hadoop中查找不同列的最有效方法是什么

标签 java hadoop mapreduce

我有一个大小为 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/

相关文章:

java - 按后退按钮到另一个 Activity

java - 如何在不访问每个节点的情况下计算完整二叉树中的节点数?

java - 使用单元工厂时 ComboBox.setValue(T) 不调用 updateItem(T,boolean)

Java如何配置log4j2

hadoop - YARN Mapreduce作业中的AccessControlException

hadoop - Hadoop Mapper为什么要对数据进行排序?

java - 如何从Java将级联作业提交到远程YARN群集?

hadoop - 在Hadoop Emr上使用Hadoop来处理> 10TB的输入是否可行?

mapreduce - 写入HBASE中的多个表

unix - 无法以root用户身份在/var/log下创建目录