
海量数据
月雲之霄
这个作者很懒,什么都没留下…
展开
-
System V 信号量
一、System V 信号量1.信号量linux命令显示:ipcs -a 显示所有共享内核对象ipcs -s 显示信号量 s = semphore 删除:ipcrm -s ID 删除信号量 二、主要函数应用1. 函数原型:#include <sys/sem.h>int semget(key_t key, int nsems, int ...原创 2018-11-23 15:55:12 · 345 阅读 · 0 评论 -
海量数据处理 (一)
现有海量日志数据保存在一个超级大的文件中,该文件无法直接读入内存,要求从中提取某天出访问百度次数最多的那个IP注意到IP是32位的,最多有2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件;找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率;在这1000个最大的IP中,找出那个频率最大的IP,即...转载 2019-05-29 16:30:49 · 369 阅读 · 0 评论 -
Bloom Filter算法
一、概念Bloom Filter的中文翻译叫做布隆过滤器,是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。如文章标题所述,本文只是做简单介绍,属于科普文章。二、应用场景在正式介绍Bloom Filter算法之前,先来看看什么时...转载 2019-06-04 21:11:32 · 1654 阅读 · 0 评论 -
海量数据(一)
1. 有1亿个浮点数,如果找出期中最大的10000个?最容易想到的方法是将数据全部排序,然后在排序后的集合中进行查找,最快的排序算法的时间复杂度一般为O(nlogn),如快速排序。但是在32位的机器上,每个float类型占4个字节,1亿个浮点数就要占用400MB的存储空间,对于一些可用内存小于400M的计算机而言,很显然是不能一次将全部数据读入内存进行排序的。其实即使内存能够满足要求(我机器...原创 2019-07-13 16:55:24 · 336 阅读 · 0 评论