当前位置: 首页 > 知识库问答 >
问题:

MapReduce作业中的多个键

马承
2023-03-14

我是hadoop新手。我正在尝试运行MapReduce(Java编程),其中键是多键(文本)。我应该使用哪种类型的数组来存储这些键,然后将它们作为参数传递给outputCollector?谢谢!!!

共有2个答案

毋举
2023-03-14

如果它只是一些文本值,我建议只是将它们作为分隔的字符串发送。这既方便又直接。否则你可以按照Quetzcolatl的建议去做。你可能会发现这两个问题很有用:如何在Hadoop MapReduce中将对象设置为Map输出的值?如何(在Hadoop中)将数据放入map和duce函数中的类型是否正确?

通飞尘
2023-03-14

您应该编写自己的类<code>实现WritableComparable

 类似资料:
  • 现在我有一个4阶段的MapReduce作业,如下所示:

  • 我是Hadoop的MapReduce的新手。我已经编写了一个map-reduce任务,我正在尝试在本地计算机上运行它。但这项工作在地图绘制完成后就悬而未决了。 下面是代码,我不明白我错过了什么。 我有一个自定义密钥类 使用自定义键的映射器和缩减器类如下。 我还在main中创建了一个作业和配置。不知道我错过了什么。我在本地环境下运行这一切。

  • 合并器在映射器之后、缩减器之前运行,它将接收由给定节点上的映射器实例发出的所有数据作为输入。然后输出到减速器。 而且,如果一个化简函数既是可交换的又是结合的,那么它可以用作组合器。 我的问题是,在这种情况下,“交换和结合”这个短语是什么意思?

  • 我在HDFS上有两个非常大的数据集(表)。我想在一些列上连接它们,然后在一些列上将它们分组,然后在某些列上执行一些分组函数。 我的步骤是: 1-创建两个工作。 2-在第一个作业中,在映射器中,读取每个数据集的行作为映射输入值,并发出连接列的值作为映射输出键,其余列的值为映射输出值。 映射之后,MapReduce框架执行混洗,并根据映射输出键对所有映射输出值进行分组。 然后,在reducer中,它读

  • 我试图运行WordCount示例的一个变体,这个变体是,映射器输出文本作为键和文本作为值,而还原器输出文本作为键和NullWritable作为值。 除了地图,减少签名,我把主要的方法是这样的:

  • 我试图使用这里定义的基本字数。当IntSumReducer执行context.write时,是否可能将该context.write传递给第二个reducer或输出类,该reducer或输出类将IntSumReducer给出的最终列表减少/更改到单个最大频率? 我对Hadoop/MapReduce和Java中的jobs概念相当陌生,所以我不确定我需要如何修改默认的WordCount以使其符合要求。我