hadoop - 在hadoop中找到最大值
问题描述
我有以下任务:
存储文件的应用程序,使用户能够添加和删除文件。当发生此类事件时,我将附加到 hdfs 中的文件,添加文件时的以下记录:
userid image-uuid size_in_bytes
以及删除文件时的以下内容
-userid image-uuid size_in_bytes
在 reducer 中计算平均值时,我必须减去已删除文件的大小并减少总数以找到没有该文件的平均值。
删除是罕见的事件。
我如何计算整个数据集的平均和最大大小?
解决方案
我刚刚发现我还有一个 hadoop 作业,可以找到每个用户 ID 的最大值。所以我将遵循分而治之的方法。首先找到每个用户的最大值,然后在输出上运行一个较小的作业以找到整体最大值。
推荐阅读
- python - Query.all() 到 pandas 数据框或没有 for 循环的列表
- android - 如何知道在动作模式下何时按下后退箭头
- excel - 将 vba 用于具有单元格地址的索引匹配公式时出错
- php - nginx PHP 7.2 安装
- ios - 在尚未加载的 VC 上使用委托
- javascript - 将数据加载到页面中是在服务器端还是客户端完成的?
- ios - 实例成员“uid”不能用于类型
- reactjs - 反应 - 每当父母渲染列表时保持子状态
- python - BeautifulSoup .get 不返回 'href'
- react-native - 在metro bundle中加载没有进度条的bundle,只有在真实设备中才会出现,虚拟设备很好