logo

海量日志数据存放在一个超大的文件中无法直接读入内存,要求找出某天访问百度次数最多的 IP。

Massive log data is stored in a huge file that cannot fit into memory. How do you find the IP that visited Baidu the most on a given day?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: 日志分析, 海量数据, Top1 统计

标签: hash partition, frequency count, map-reduce idea, external processing

参考答案摘要

核心答案 核心思路是: 过滤目标日志 → 哈希分桶 → 分桶统计最大值 → 全局比较 。 Step 1:过滤出目标数据 先从指定日期日志中提取所有“访问百度”的记录,将其中的 IP 逐条写入一个大文件。 Step 2:按 IP 哈希映射到小文件 IP 为 32 位,最多 2^32 种。对该大文件中的每个 IP 进行分桶,比如 hash(IP) % 1000 ,写入 1000 个小文件。 Step ...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

海量日志数据存放在一个超大的文件中无法直接读入内存,要求找出某天访问百度次数最多的 IP。

Hardalgorithms

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案