做有温度的教育!
全国统一咨询热线:400-803-9399
北京
校区
新闻资讯> 行业新闻> 甲骨文华育兴业经典大数据问题分析

甲骨文华育兴业经典大数据问题分析

时间:2020-11-03
浏览:16052
发布:
赞:1575

甲骨文华育兴业专注IT技术,重磅推出因材施教,分级教学模式,现已为众多学子成就IT之梦!来跟我们看看关于大数据中海量数据处理的一些问题! 

甲骨文华育兴业经典大数据问题分析

       第一部分、海量数据处理

  1、海量日志数据,提取出某日访问百度次数最多的那个IP。

  此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。

  再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。

  2、搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。

  假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。

  3、有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回频数最高的100个词。

  4、有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复。要求你按照query的频度排序。

  5、 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

  方案1:可以估计每个文件安的大小为5G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。

  方案2:如果允许有一定的错误率,可以使用Bloom filter,4G内存大概可以表示340亿bit。将其中一个文件中的url使用Bloom filter映射为这340亿bit,然后挨个读取另外一个文件的url,检查是否与Bloom filter,如果是,那么该url应该是共同的url(注意会有一定的错误率)。

  6、在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数。

  方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存内存,还可以接受。然后扫描这2.5亿个整数,查看Bitmap中相对应位,如果是00变01,01变10,10保持不变。所描完事后,查看bitmap,把对应位是01的整数输出即可。

  方案2:也可采用与第1题类似的方法,进行划分小文件的方法。然后在小文件中找出不重复的整数,并排序。然后再进行归并,注意去除重复的元素。

  7、腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?

  8、怎么在海量数据中找出重复次数最多的一个?

  方案1:先做hash,然后求模映射为小文件,求出每个小文件中重复次数最多的一个,并记录重复次数。然后找出上一步求出的数据中重复次数最多的一个就是所求(具体参考前面的题)。

  9、上千万或上亿数据(有重复),统计其中出现次数最多的钱N个数据

  方案1:上千万或上亿的数据,现在的机器的内存应该能存下。所以考虑采用hash_map/搜索二叉树/红黑树等来进行统计次数。然后就是取出前N个出现次数最多的数据了,可以用第2题提到的堆机制完成。

  10、一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。

  方案1:在前面的题中,我们已经提到了,用一个含100个元素的最小堆完成。复杂度为O(100w*lg100)。

  方案2:采用快速排序的思想,每次分割之后只考虑比轴大的一部分,知道比轴大的一部分在比100多的时候,采用传统排序算法排序,取前100个。复杂度为O(100w*100)。

  方案3:采用局部淘汰法。选取前100个元素,并排序,记为序列L。然后一次扫描剩余的元素x,与排好序的100个元素中最小的元素比,如果比这个最小的要大,那么把这个最小的元素删除,并把x利用插入排序的思想,插入到序列L中。依次循环,知道扫描了所有的元素。复杂度为O(100w*100)。

  以上就是甲骨文华育兴业老师总结的大数据分析,在分析的过程中还可以考虑近似计算,也就是我们可以通过结合自然语言属性,只将那些真正实际中出现最多的那些词作为一个字典,使得这个规模可以放入内存。一起学习起来吧!


人生从业之路的第一步,从甲骨文华育兴业开始,

背后付出的辛苦与努力只有自己知道,而这也只是他们职业生涯的开始。

勤恳努力的人终会得到最好的回报,有些努力需要时间来回答

你吃的苦终会铺成你想要的路!

甲骨文华育兴业,为你的IT之路开启梦想之门!


【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息联系我们,我们将及时沟通与处理。本站内容除非来源注明甲骨文华育兴业,否则均为网友转载,涉及言论、版权与本站无关。

相关推荐

甲骨文华育兴业

用于数据科学的三大顶级Python库

Python在许多方面有着强大的吸引力 - 例如效率、代码可读性和速度方面,也正因为如此,对于希望提升应用程序功能的数据科学家和机器学习专家来说,Python通常是首选编程语言。(例如,Andrey Bulezyuk使用Python编程语言创建了一个很牛逼的机器学习应用程序。)

UI交互设计师不能忽略的7条心里学定律

UI交互设计师不能忽略的7条心里学定律

交互设计师不能忽略的7条心里学定律作为一个UI交互设计师,你不能忽视心理学。因为人类大脑的这些原则,决定了人们对你的设计作何反应。回顾这7条心理学原则和定律,通过自己的理解用于实践会使你更好的完成工作。

甲骨文华育兴业

节后找工作,是先凑合?还是学热门技术进名企?拿高薪!

金九银十,十一过后的你有没有什么新的打算,是随便找一份工作凑合到过年还是认真的学习一段时间,为自己积累更多的资源再出发?   近几年来,虽然“就业难”已经成为一个社会难题,但是现代职场中依然有很多白领轻松月薪过万,因此许多已经迈入职场的人在本职工作岗位上觉得没什么前途后,为寻求更好的工作机会往往都会选择跳槽或转行。

大数据开发

大数据带你看史上大型DG凉凉秀

“DG辱华事件”是怎么回事想来小编已经不用多说,随着DG设计师与网友对骂的截图被曝光,“设计师”成为了这场舆论风暴的导火索,舆论对此的关注度逐渐升高,一些其他知名自媒体也纷纷加入话题的讨论,其中包括娱乐博主@会火 、@Rabbit每日爆料 、军事博主@菌说菌事 、设计美学博主 @熊小默 等。#dg设计师#在微博上的话题阅读量高达6.7亿次,讨论量也近10万次。

大数据中hadoop是什么? ps使用 大数据 冲刺Java架构师年薪50W

友情链接: 教育培训 甲骨文华育兴业太原校区 甲骨文华育兴业济南校区 甲骨文华育兴业哈尔滨校区 甲骨文华育兴业长春校区 魔据教育

Copyright ©2016-2019. All Rights Reserved.

    京ICP备17018991号-4     网站地图