hadoop - MapReduce输入输出选择性

标签 hadoop mapreduce

我正在编写一个MapReduce程序,对映射器的要求是输出/输出映射输入文件的 x% ,以用作化简器的输入。例如,如果我的文件具有100记录,则在50%阈值下,reducer的输入应仅为50条记录。

我已经看到了获取前N个记录的示例,但这不是我想要的。

最佳答案

有多种方法可以实现它,

  • 编写仅接受X%数据的自定义InputFormat。
  • 由于映射器的数量将取决于InputSplit,因此请在Mapper中编写自定义代码,以仅从Mapper中发射X%的数据。
  • 如果您的数据均匀分布,则可以使用分区程序将X%的数据传递给Reducer。
  • 关于hadoop - MapReduce输入输出选择性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50515300/

    相关文章:

    hadoop - 如何将 mapreduce 结果加载到 Hive 中?

    hadoop - 无法建立沙箱连线

    hadoop - Hadoop DB 的 ORM 支持

    sql - Hive 划分同一列的数字

    hadoop - 服务器IPC版本7无法与客户端版本4通信

    java - Hadoop - 为特定节点的 Mapper 中的每个 map() 函数创建类的单个实例

    java - 扩展 HBase Put 的问题

    hadoop - YARN UI 中的作业优先级在哪里?

    netbeans - 在 Hadoop 集群上运行 mapreduce jar

    hadoop - 何时将输出文件的数据写入MapReduce架构中?如何在reducer中使用已处理的reducer输出数据?