Tag: 分布式计算

如何在Hadoop MapReduce中将Object设置为Map输出的值?

在Hadoop MapReduce中,对于中间输出(由map()生成),我希望中间输出的值是以下对象。 MyObject{ date:Date balance:Double } 我该怎么做 我应该创建自己的可写类吗? 我是MapReduce的新手。 谢谢。

是否可以在Kafka 0.8.2中为现有主题添加分区

我有一个运行2个分区的Kafka集群。 我一直在寻找一种方法将分区数增加到3.但是,我不想丢失主题中的现有消息。 我尝试停止Kafka,修改server.properties文件以将分区数增加到3并重新启动Kafka。 但是,这似乎没有任何改变。 使用Kafka ConsumerOffsetChecker ,我仍然看到它只使用了2个分区。 我使用的Kafka版本是0.8.2.2。 在0.8.1版本中,曾经有一个名为kafka-add-partitions.sh的脚本,我想这可能会成功。 但是,我在0.8.2中没有看到任何这样的脚本。 有没有办法实现这个? 我确实尝试创建一个全新的主题,对于那个主题,它似乎根据server.properties文件中的更改使用了3个分区。 但是,对于现有主题,它似乎并不关心。

在Hadoop中更改文件分割大小

我在HDFS目录中有一堆小文件。 虽然文件量相对较小, 但每个文件的处理时间量很大 。 也就是说, 64mb文件是TextInputFormat的默认分割大小,甚至需要几个小时才能处理。 我需要做的是减少分割大小 ,这样我就可以利用更多的节点来完成工作。 所以问题是,怎么可以分开文件让我们说10kb ? 我需要为此实现自己的InputFormat和RecordReader ,还是要设置任何参数? 谢谢。