【发布时间】:2018-08-15 07:10:56
【问题描述】:
我想实现一个使用以下架构读取镶木地板文件的 mapreduce 作业:
{
optional int96 dropoff_datetime;
optional float dropoff_latitude;
optional float dropoff_longitude;
optional int32 dropoff_taxizone_id;
optional float ehail_fee;
optional float extra;
optional float fare_amount;
optional float improvement_surcharge;
optional float mta_tax;
optional int32 passenger_count;
optional binary payment_type (UTF8);
optional int96 pickup_datetime;
optional float pickup_latitude;
optional float pickup_longitude;
optional int32 pickup_taxizone_id;
optional int32 rate_code_id;
optional binary store_and_fwd_flag (UTF8);
optional float tip_amount;
optional float tolls_amount;
optional float total_amount;
optional float trip_distance;
optional binary trip_type (UTF8);
optional binary vendor_id (UTF8);
required int64 trip_id;
}
这项工作的主要目的是计算出租车在每天每小时 (0->23) 的行程中的平均速度。
我的 Mapper 类计算每个接送小时的速度,因此它提供以下几个(小时,速度)强>。
Reducer 类通常应该计算每小时的平均速度。
但是我想知道是否可以使用组合器类来促进数据处理,因为我了解到组合器类只能用于交换和关联操作,而这不是平均情况吗?
任何帮助将不胜感激。
谢谢:)
【问题讨论】:
标签: hadoop mapreduce average reducers combiners