首页 > 编程知识 正文

大数据特点,大数据可能出现的问题

时间:2023-05-05 13:35:08 阅读:53310 作者:2155

大数据是由种类多、流量大、容量大、价值高、处理和分析速度快的实际数据集合而成。

存储容量通常需要考虑效率等问题。 解决大数据问题的一般主要思想:

1 .文件分割,(将大文件切割成几个小文件进行处理)、

fzdbz剪切,

3 .使用位图。

举几个例子进行进一步分析。

1、从大量的日志数据中提取某一天访问百度次数最多的IP。 (或者,超过100G的文件在文件中包含iP地址。 请找出其中出现次数最多的iP地址)

思考:这两个问题是同一个问题。 我们注意到IP数量仍然有限,最多有2^32(42亿)个IP,IP为32位。

1字节=8位

1 kb=1024字节(字节)

1MB=1024 KB

1 GB=1024 MB

假设每个IP只出现一次,所需的内存约为(32*2^32 )位,约为16个g左右。 如果内存足够,就直接做统计。 但是,如果内存不是很大,)将较大的文件划分为几个小文件(100个小文件),采用映射同一IP地址一定出现在同一小文件中的方法,在每个小语句中出现频率最高的IP地址而且在这1000个最大的IP中,要求找到其频率最大的IP。

给出2.100亿个整数,设计算法找出只出现一次的整数。

思考:对于有符号整数,范围为-2147483648~2147483647无符号整数为0~4294967296,符号使用两个bitset,一个存储正数,一个存储负数。 每个数使用两个比特判断出现多少次。 0表示出现0次,01表示出现1次,10表示出现1次以上。

例如,如果要存储整数100,请将bitset的第100*2位设置为1,并在所有数字完成后每2位测试一次,以确定其值是多少。 如果第I个与i 1的值为0.1,则该整数: i*2在集合中只出现一次。 必须全部用bitnun=(2^31*2)位表示,所需空间为int[bitnum],即512M。

3.40亿个不重复的unsigned int整数,给你一个未排序的,然后再给你一个数,怎么快速判断这个数是否在那个40亿中?

方案1:40亿个整数几乎相当于所有整数,需要用合计(2^32 )个位表示。 所需空间为int[bitnum],即512M。 申请512M内存,一个位表示一个未指定int值。 读取40亿个位,设置对应位,读取查询数,检查对应位是否为1,如果为1,则表示存在,如果为0,则表示不存在。

方案2 )2^32有40多亿,可能有一定数量,也可能没有; 这里假设40亿个中的每一个都用32位二进制表示,这40亿个开始放在一个文件中。

然后,将这40亿个分成两种: 1。 最高位是0 2。 顶部为1,将这两种类型分别写入两个文件。 一个文件的数量=20亿,另一个=20亿。 这相当于断了)。 与想找的数量的最高位进行比较,进入相应的文件后再查找,将该文件又分为两种,即: 1。 接下来的最高位是0 2。 下一个最高位是1。 将这两种类型分别写入两个文件。 一个文件中的数量=10亿,另一个=10亿。 这相当于一半。 与要搜索的数量的顶层进行比较,导航到相应的文件进行搜索。

就像.一样,可以找到。 时间的复杂性是o(logn )。

场景3 :位图法是常用的编程任务之一,即用位图法判断整形数组是否存在重复,判断集合中是否存在重复。 在集合中的数据量较大时,通常希望控制几次扫描,但在这种情况下,双环法是不理想的。 位图法适用于这种情况。 它根据集合中的最大元素max创建一个长度为max 1的新数组,再次扫描原始数组,遇到几次后将1放在新数组的第几个位置,遇到五次后将1放在新数组的第六个元素。 这样,下次遇到5次想定位时,就会发现新数组的第六个元素是1。 这表明这次的数据与以前的数据重复。 其运算次数最差时为2N。 如果知道数组的最大值,并且可以为新数组预先确定长度,则效率会再提高一倍。 )

Bingdata优网将多平台采集到的海量数据聚合起来,通过大数据技术分析和预测能力为企业提供智能化数据分析、运营优化、投入决策、精准营销、竞争产品分析等整合营销服务。

北京优网助信息技术有限公司(简称优网助)是一家以大数据为基础,智能化应用于整合营销的大数据公司,隶属于亨通集团。 Bingdata是旗下品牌。 欧根帮助团队主要来自阿里、腾讯、百度、金山、搜狐和移动、电信、联通、华为、爱立信等知名企业的技术大咖,兼具互联网和运营商两大基因,为大数据算法分析提供有力的技术支持

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。