某搜索引擎网站一天的访问日志数据如图a所示,现要从中提取出访问网站次数最多的IP。由于IP日志文件数据量非常大,我们可以把IP日志数据分别存储到多个小文件中,分别统计出每个小文件中出现次数最多的IP地址及次数,再对各个小文件中的数据进行汇总。统计的结果如图b所示。
图 a 图 b
(1)
上述处理大数据的方法,采用的是 思想。
(2)
统计小文件中出现次数最多的IP地址的Python代码如下,在划线出补充合适的代码,实现统计功能。
def showmax(ips): #统计出现次数最多的 IP 地址和出现次数
dic={}
maxn=0
for i in range(len(ips)):
if ips[i] in
dic:
dic[ips[i]]+=1
if :
maxn=dic[ips[i]]
maxIp=ips[i]
else:
return
maxIp,maxn
with
open("temp.log"," r ") as
ips=[] f: #读取小文件temp.log中的IP地址
for line
in f:
ip=line.split()[0]
ips.append(ip) #将IP地址逐行追加到列表ips中
#调用showmax函数
Prin t("出现次数最多的 IP 是: ",a[0]," 出现次数为: ",a[1])
答案: 【1】分治
【1】dic[ips[i]]>maxn【2】dic[ips[i]]=1【3】a=showmax(ips)