Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MapReduce中的聚合_Java_Hadoop_Mapreduce - Fatal编程技术网

Java MapReduce中的聚合

Java MapReduce中的聚合,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,如何在.csv中找到列的最大和最小元素 我们应该向上下文传递什么。编写映射器的(键、值) 是否是该csv文件的每一列 对于一个如此宽泛的问题来说,这有点宽泛,但我要咬一口 映射器用于将值映射到键。假设您的CSV有4列,其中包含数值: 42,71,45,22 将一个键映射到每个值;实际上,CSV中的标题是什么。假设第4列表示“小部件的数量”。您需要将“numberofwidgets”映射为映射器中第4列值的键 减速器将获取给定键的所有值。这就是您计算最小值/最大值的地方。您只需迭代关键点的所有值,

如何在.csv中找到列的最大和最小元素

我们应该向上下文传递什么。编写映射器的(键、值)

  • 是否是该csv文件的每一列

  • 对于一个如此宽泛的问题来说,这有点宽泛,但我要咬一口

    映射器用于将值映射到键。假设您的CSV有4列,其中包含数值:

    42,71,45,22

    将一个键映射到每个值;实际上,CSV中的标题是什么。假设第4列表示“小部件的数量”。您需要将“numberofwidgets”映射为映射器中第4列值的键


    减速器将获取给定键的所有值。这就是您计算最小值/最大值的地方。您只需迭代关键点的所有值,并跟踪最小值和最大值。

    映射器应转置文件-对于读取的每一行,将关键点作为列号,将值作为列值


    减速机应为每个输入键的最小值/最大值,发出找到的最小值和最大值。

    您不会这样做。Brian Roach感谢您的回答:那么mapper做什么呢?这将花费大量的数据进行传输和排序。我只会为每个任务发出一列的最小/最大值,然后在减缩器中发出剩余值的最小/最大值。如何发出输入的最小/最大值(一行)以获得最后一列的最小/最大值?您将列优化保存在哪里?@jtravaglini映射程序可以确定其子集的列最小值和最大值,并使用键columnname_min和columnname_max发出它们。可以在映射程序中预聚合,但这并不简单。如果没有自定义记录读取器,您不知道何时到达输入拆分的末尾(例如,映射器没有更多记录)。您必须在
    cleanup()
    中加入逻辑才能发出最小/最大值(在新的API中;在旧的API中,它更难看)如何将头从csv文件中分离出来