具有 2 个值的 MapReduce
MapReduce with 2 values
MapReduce 中是否可以有两个值?
我的 csv 看起来像这样:
month, date, deviceCategory, totalTransactionRevenue
201608 20160801 Desktop 1000
201608 20160801 Mobile 700
我想用MapReduce计算每种设备的平均月收入。我希望输出看起来像这样:
(month, deskRev, mobileRev)
但是当我在 Mapper 中编写 context.write(month, DesktopoutPut, MobileoutPut);
代码时,它说不能应用于给定类型。是因为MapReduce必须在键值对中吗?
谢谢!!
嗯,根据您的需要,您可以将月份和设备类别串联起来。
因此,您可以将其用作键(这实际上形成了一个复合键)。
这个键和对应的值看起来像
<201608 桌面 , 1000>
<201608 手机 , 700>
除了一行连接两个字段外,您的程序绝对不需要更改。
MapReduce 中是否可以有两个值?
我的 csv 看起来像这样:
month, date, deviceCategory, totalTransactionRevenue
201608 20160801 Desktop 1000
201608 20160801 Mobile 700
我想用MapReduce计算每种设备的平均月收入。我希望输出看起来像这样:
(month, deskRev, mobileRev)
但是当我在 Mapper 中编写 context.write(month, DesktopoutPut, MobileoutPut);
代码时,它说不能应用于给定类型。是因为MapReduce必须在键值对中吗?
谢谢!!
嗯,根据您的需要,您可以将月份和设备类别串联起来。 因此,您可以将其用作键(这实际上形成了一个复合键)。 这个键和对应的值看起来像
<201608 桌面 , 1000>
<201608 手机 , 700>
除了一行连接两个字段外,您的程序绝对不需要更改。