海量数据处理

news2025/1/11 9:47:47

1.给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址?

如何找到top K的IP?

思路:(哈希切割)

1.ip本身就是一个字符串,先把ip变成一个整数hash(ip)

2.文件的下标index = hash(ip) % 200 (把相同的字符串映射到同一个文件当中去)

3.读取每个文件的内容,统计每个文件当中,ip出现的次数。用hashmap

2.给定100亿个整数,设计算法找到只出现一次的整数?

思路:

解法一(哈希切割)

把数字哈希到对应的小文件当中,一样的数字肯定是在一起的,遍历每个小文件,统计数字出现的次数,此时,在内存中就能够知道,哪个数字出现了一次。

解法二(位图)

10 000 000 000 * 4 / 1024 / 1024 ~= 38,146.972M ~= 37.25G

100亿个整数用到位图大约10 000 000 000/8/1024/1024 ~= 1192.092M  ~= 1G

 解法三(使用一个位图)

 和第二种解法一样,都能用0,1标识出现几次,这属于编码细节了,总体思路就是原来能表示8个数据,现在用俩个比特位标识。原来需要1个G,现在用这种方法得用2个G.


3. 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集?

解法一:(哈希切割)

解法二:(位图)

 1.和上边第一步一样,先把40G文件分成200份小文件

2.遍历A文件的第一个文件,将第一个文件数据读取出来,存放到bitSet当中

3.遍历B文件的第一个文件,每次读取一个数据,看bitSet中,之前是否存在

4.如果存在,就是交集

如何求交集,并集,差集?

 


4. 位图应用变形:1个文件有100亿个int,1G内存,设计算法找到出现次数不超过2次的所有整数

解法一(哈希切割)

解法二(位图)

用俩个bitSet,00代表0次,01代表1次,10代表2次,11代表多次,和第二题解法一样

5.给两个文件,分别有100亿个query,我们只有1G内存,如何找到两个文件交集?分别给出精确算法和近似算法

1.精确算法:

哈希切割,和第三题一样

2.近似算法:

1.把第一个文件当中的query映射到布隆过滤器中

2.读取第二个文件,每个query,都去布隆过滤器中查找【会存在误判】

3.因为存在误判,所以有可能这个数据存在,但是误判成了不存在。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用知识图谱打开梁山好汉一百单八将

说起《水浒传》大家一定不会陌生,《水浒传》是一部以描写古代农民起义为题材的长篇小说,全书描写北宋末年以宋江为首的108位好汉在梁山聚义,之后接受招安、四处征战的故事。它的一大看点便是其人物的描写,用金人瑞曾评的话说&…

算法之贪心算法

目录 前言: 如何理解贪心算法? 贪心算法的实战分析 分糖果 钱币找零 问题 总结: 参考资料 前言: 贪心算法有很多经典的应用,比如霍夫曼编码(Huffman Coding)、Prim 和 Kruskal 最小生成树…

Windows下Jenkins常见问题汇总

Jenkins运行时,场景遇到一些奇怪的问题,特别是在Powershell下能运行的命令,在Jenkins下运行就不行。 原因在于其特殊性:Jenkins执行脚本时,不是用当前Windows的登录账户执行的,所以当前登录账户的很多属性&…

数据库,计算机网络、操作系统刷题笔记16

数据库,计算机网络、操作系统刷题笔记16 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle…

【码极客精讲】二维数组

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] a[j][i],对角矩阵:n阶方阵主对角线外都是…

Go语言web极速入门-(Gin+Mysql实现后端接口)

文章目录Gin框架github地址 ⬅️点击此处安装Gin及安装框架超时问题解决参考地址 ⬅️点击此处Mysql操作建表增加测试数据代码实现需要导的包数据库连接函数及常量、数据传输结构体业务代码:获取一条信息(GET请求)业务代码:获取多条信息(GET请求)业务代码:保存一条信息(POST请求…

指令重排现象,多线程情况下,你的代码执行顺序可能不是顺序执行,结果会不一致

一、思考多线程情况下,程序执行顺序是否是按顺序执行 首先定义x 0; y 0; a 0; b 0;然后思考a 1;x b;两行代码谁先执行问题? 二、实战测试 2.1 测试逻辑 首先默认为x 0; y 0; a 0; b 0;然后开启两个线程;线程1执行:a…

java 瑞吉外卖day6 移动端 套餐 菜品展示 购物车加减,清空,用户下单

导入用户地址簿相关功能代码 菜品展示 购物车模块 加入购物车: PostMapping("/add") public R add(RequestBody ShoppingCart shoppingCart){//获取当前线程用户的id并设置到shoppingCart中Long currentId BaseContext.getCurrentId();shoppingCart.set…

使用3种不同的算法从倾斜风速计中检索3个风分量(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

如何确保电子招标的透明度、公正性和及时性?

采购的主要目标是确保以竞争的方式及时获得货物、工程和服务,确保资金的最佳价值,同时保持透明度和公正性。特别是在公共或非盈利组织中,他们利用捐助者的资金来完成任务,必须强调透明度、公平性和及时性。因此,更需要…

图像分类:Pytorch图像分类之--AlexNet模型

文章目录前言数据的处理数据集的下载数据集的划分AlexNet介绍程序的实现model.pyDropout()函数train.py数据预处理导入数据集前言 搭建AlexNet来进行分类模型的训练,大致训练流程和图像分类:Pytorch图像分类之–LetNet模型差不多,两者最大的…

NewStarCTF公开赛week4密码学题目wp

目录前言一、LCG Revenge1.原题2.解题思路1) 考察知识2) 分析本质3.解题Python脚本二、代数关系1.原题2.解题思路3.解题Python脚本前言 哎呦喂,第三周勉强做了一道题,果然第四周就爆零了QAQ ———————————悲伤的分割线——————————— …

Apache Flink 作业图 JobGraph 与执行图 ExecutionGraph

由 Flink 程序直接映射成的数据流图(dataflow graph),也被称为逻辑流图(logical StreamGraph)。到具体执行环节时,Flink 需要进一步将逻辑流图进行解析,转换为物理执行图。 在这个转换过程中&am…

思派健康在港交所上市:九成收入靠“卖药”,持续大额亏损

12月23日,思派健康(HK:00314)在港交所上市。本次上市,思派健康的发行价格为18.60港元/股,全球发售991.94万股。据此前招股书介绍,思派健康将自全球发售收取所得款项净额约1.204亿港元。 招股书显示&#x…

每月明星计划(12 月),ECHO:我们的意见万岁!

我们很高兴 12 月的 MSP 比我们预期的要成功得多。提交项目的数量和质量甚至优于 11 月的 MSP。 在 11 月的 MSP 竞赛中,被选中的项目Owlando以其先进的 UGC Metaverse 概念及其与朋友创建、交流和玩耍的有趣方式引起了评委的注意,最终将结果构建到 NFT…

百度百科创建词条步骤是怎样的?

互联网时代,在百度上搜索人物、企业、品牌、作品之类的信息都会出现相关百科词条,一般在首页前几名的位置,权重非常高,获得的用户流量也是非常庞大的。 基于百度百科的宣传背书,大大提高了内容的可信度和知名度&#…

【详细学习SpringBoot源码之属性配置文件加载原理(application.properties|application.yaml)-7】

一.知识回顾 【0.SpringBoot专栏的相关文章都在这里哟,后续更多的文章内容可以点击查看】 【1.SpringBoot初识之Spring注解发展流程以及常用的Spring和SpringBoot注解】 【2.SpringBoot自动装配之SPI机制&SPI案例实操学习&SPI机制核心源码学习】 【3.详细学…

教室管理系统

开发工具(eclipse/idea/vscode等):idea 数据库(sqlite/mysql/sqlserver等):mysql 功能模块(请用文字描述,至少200字): 关于这个系统的具体功能主要包括教师,学生,课程,教室还有班级这几个实体。…

acwing基础课——二分图

由数据范围反推算法复杂度以及算法内容 - AcWing 常用代码模板3——搜索与图论 - AcWing 基本思想: 二分图:在一张图中,如果能把全部点分到两个集合,且保证两个集合内部没有任何一条边,图中的边只存在于两个集合之间&#xff0c…

制造业ERP如何做好成本核算管理?

随着制造业的不断发展,制造业成本管理中存在的问题已成为制造业企业关注的焦点。在传统粗放的手工模式下,制造企业成本核算工作量会非常巨大,不能对成本信息进行实时监控,只能在成本费用发生后进行归集核算,数据有滞后…