Hadoop流媒体具有非常大的标准输出
我有两个Hadoop流媒体程序Hadoop流媒体具有非常大的标准输出,hadoop,mapreduce,Hadoop,Mapreduce,我有两个Hadoop流媒体程序 mapper (produces <k, v> pair) reducer mapper(生成对) 减速器 当然,对被发送到stdout 我的问题是 如果中的v非常大,它是否能在hadoop上高效运行 我猜映射器发出的v将是1G或更多(有时超过4G)。您所说的“当然,成对发射到stdout”是什么意思 您的意思是说键值对的数量非常大,如中所示?如果是,那么hadoop可以有效地处理这个问题 如果你的意思是说v的大小非常大。因此,对于给定的键
mapper (produces <k, v> pair)
reducer
mapper(生成对)
减速器
当然,
对被发送到stdout
我的问题是
如果
中的v
非常大,它是否能在hadoop上高效运行
我猜映射器发出的v
将是1G或更多(有时超过4G)。您所说的“当然,成对发射到stdout”是什么意思
您的意思是说键值对的数量非常大,如中所示?如果是,那么hadoop可以有效地处理这个问题
如果你的意思是说v的大小非常大。因此,对于给定的键,发出的值为1到4GB甚至更大。首先,您运行什么样的应用程序来生成如此大的值。可以拆开钥匙吗
回到要点:Hadoop的效率可能不是很高。取决于用例。
在大多数情况下,它会非常低效。我认为这样的值大小会导致问题,因为在内存中操作它们是有问题的。如果您确实需要这么大的值,您可以将它们放入HDF中,并使V成为文件名。在这种情况下,你应该考虑的问题是,这种方法不再有功能了——你有副作用,例如失败的映射器。