处理海量数据是大数据工程师必备技能,通过对PB级别的数据进行挖掘与分析发掘出有价值的信息,为企业或政府做出正确决策提供依据,是十分必要的一项工作,以下是常用的海量数据处理方法!
1. Bloom filter
Bloomfilter是一种二进制向量数据结构,具有很好的空间效率和时间效率,可用来检测一个元素是否属于一个集合。该方法的优点是它的插入和查询时间都是常数,并且它查询元素却不保存元素本身,因此,具有良好的安全性,但因其算法的原因,其正确率稍低,可以确定不存在数据一定不存在,确定存在的数据不一定存在,适合对低错误率可以容忍的场合。
2. Hash
Hash即散列函数,其是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,根据处理需求的不同,有不同的Hash函数,针对字符串、整数、排列也具有相应的Hash方法,常用的Hash构造方法有直接寻址法、数字分析法、平方取中法、折叠法、随机数法以及除留余数法等。
3. BitMap
BitMap是使用数组来表示某些数据是否存在的方法,可对数据进行快速查找、判断和删除操作,一般来说数据范围是int的10倍以下,Bloom可以看做是对BitMap的扩展。
4. 堆
堆是计算机科学中的一种特殊的数据结构的统称,统称是一个可以被看做一颗树的数组对象,其原