海量数据处理
0xac001d09
https://leetcode-cn.com/u/jerry_nju/
展开
-
海量数据处理(5):概率类问题
海量数据处理(5):概率类问题概率类的大数据问题,本质上是概率问题而不是大数据问题。比如如何在数据流中等概率的取出 M 个元素。这个问题有标准解法的。问题描述:给你一个 Google 搜索日志记录,存有上亿挑搜索记录(Query)。这些搜索记录包含不同的语言。随机挑选出其中的 100 万条中文搜索记录。假设判断一条 Query 是不是中文的工具已经写好了。问题分析:这个问题的本质是一个数据流...原创 2020-01-15 14:34:48 · 137 阅读 · 0 评论 -
海量数据处理(4):外排序算法
海量数据处理(4):外排序算法一、外排序算法外排序算法是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在硬盘上。通常采用排序–归并的策略,将原本的大文件,拆分为若干个小文件,小文件可以读入内存中进行排序,然后使用归并操作。因此,外排序通常分为两个基本步骤:大文件拆分成若干个小的,并分别使用内存排好序使用K路归并算法将若干个排好序的小文件合并到一个大文...原创 2020-01-15 14:16:24 · 395 阅读 · 0 评论 -
海量数据处理(3):布隆过滤器
海量数据处理(3):布隆过滤器一、简介布隆过滤器(Bloom Filter,BF)对普通的哈希表做了进一步的改进,是一种更省空间的哈希表。当碰到内存不够的问题时,BF就是一个很好的选择。BF的两个功能:检测一个元素在不在一个集合中、统计一个元素的出现次数(实际上就是map的作用)。BF虽然节省了空间,但同样也有一个副作用,即存在 False Positive(正误识)。 简单的说就是,如果是...原创 2020-01-09 19:12:55 · 225 阅读 · 0 评论 -
海量数据处理(2):最高频K项问题
海量数据处理(2):最高频K项问题一、简介这个问题即:找到一个大文件或者数据流中出现频率最高的 K 项。问题的难点在于,如果条件不一样,解决的办法是完全不一样的,比如:是否需要精确的 Top K 结果?即,是否允许小概率出错。数据是离线的还是在线的?即是一个大文件的形式计算一次得到一个结果,还是数据流的形式实时返回结果。如果对于一个大文件(也就是说离线的),只是简单的找到前k大的,使...原创 2020-01-09 19:12:06 · 523 阅读 · 0 评论 -
海量数据处理(1):MapReduce
海量数据处理(1):MapReduce海量数据处理,就是基于海量数据的存储、删除、搜索等操作。由于数据量太大,导致要么无法在短时间内迅速处理,要么无法一次性装入内存。针对面试过程中的问题,主要有以下解决步骤针对时间,可以采用更加迅速的数据结构和算法,比如BloomFilter、Hash、堆、Bitmap等针对空间,无非就是大而化小,分而治之。算法方面:外排序算法(Exter...原创 2020-01-09 19:11:03 · 413 阅读 · 0 评论