`
hz_chenwenbiao
  • 浏览: 1007740 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

几道大数据处理题(转)

阅读更多

 

1. 给A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。

 
分析:
1MB = 2^20 = 10^6 = 100万
1GB = 2^30 = 10^9 = 1亿
 
50亿url = 5G*64 Byte
 
整理方法如下:
方法一:
分别扫描A,B文件,根据hash(url)%k值将url划分到不同的k个文件中,如a1,a2,....ak;b1,b2,...bk,(保存时可以把hash值也保存进去,避免以后重复计算) 对每一个hash段的两个文件,如a1,b1, 读取a1到一个HashSet中,再将b1投入,用链表保持hash值有冲突且url相等的url。
 
分割的文件数k: k> 5G*64/4G/2 = 160
当然该方法需要更多的磁盘空间
 
方法二:
使用Bloom filter。假设布隆过滤器的错误率为0.01,则位数组大小m约为输入元素个数n的13倍,此时需要的哈希函数k约为8个。(Google黑板报中介绍其用来存储垃圾邮件地址)
 
n = 5G
m = 5G * 13 = 65G = 650亿 即需要650亿个bit位才能达到错误率0.01
而我们拥有的内存可容纳bit位个数:4G * 8bit = 32G bit = 320亿,按此实现错误率大于0.01。
 
方法三:
使用索引。想想,可以讲A存入数据库表并建立主键和索引,再将B读入插入数据库表,若报错则是重复的url。
 
 
2. 有10个文件,每个文件1G, 每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。要你按照query的频度排序.
 
方法一:类似第1题方法一,扫描所有文件,使用hash将query重新散到不同文件中,这样相同的query一定在同一个文件中。
对每个小文件进行计数。最后归并结果。
 
方法二:类似第1题方法二,但用的是Bloom Filter的变化SBF(Spectral Bloom Filter)
 
Bloom Filter的变种:
CBF(Counting Bloom Filter)通常采用固定的4bit的counter来记录出现频次,可以保证极小溢出概率,CBF使用counter只为了实现元素删除。
SBF(Spectral Bloom Filter)若想要支持元素的出现频率查询,4位远远不够,这就需要动态大小的counter
 
 
Bloom Filter介绍:
 
方法三:使用MapReduce
 
3. 有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16个字节,内存限制大小是1M。返回频数最高的100个词。
 
方法:扫描文件hash成小文件。各个文件分别计数,取前100个词。
最后合并各文件找出最终的100词。或将所有小文件的前100词投入大小为100的最小堆

 

分享到:
评论

相关推荐

    大数据分析师题库1000道-题目答案版.pdf

    这些关键词揭示了题库的主要内容将会围绕这三个领域,涵盖了大数据处理、分析以及与Python编程语言相关的问题。Python在大数据分析领域应用广泛,是因为它拥有强大的数据分析库如Pandas、NumPy、SciPy以及可视化库如...

    alibaba数据挖掘150道试题

    - **阿里巴巴数据挖掘150道试题**这份资料包含了150道关于数据挖掘的问题及其答案,旨在帮助读者更好地理解和掌握数据挖掘的基本概念和技术。 ### 题目解析 #### 题目2:精度与召回率 - **问题**:给出两个指标,...

    几道C++数据结构与算法习题

    在处理大量但大部分元素为零的矩阵时,稀疏矩阵能节省大量的存储空间。通常使用双向十字链表(即四向链表)可以高效地表示非零元素及其位置。链表节点需要包含行、列索引和值,同时维护前驱和后继节点的链接。插入、...

    大数据分析师题库1000道.pdf

    7. 大数据工具与平台:了解Hadoop、Spark等大数据处理平台的使用,以及如何在Python中与这些平台进行交互。 8. 实际案例应用:通过案例分析,理解如何在现实世界中应用以上知识点,解决具体的数据分析问题。 虽然...

    《华为数据之道》考题及答案.pdf

    《华为数据之道》是华为关于数据管理和数字化转型的理论与实践分享,涵盖了企业如何构建高效、智能的数据体系。从给出的考题及答案中,我们可以提炼出以下几个关键知识点: 1. **数字原生企业与非数字原生企业的...

    数据结构18道必做编程题

    这18道必做编程题涵盖了数据结构的主要类型和操作,包括数组、链表、栈、队列、树、图等,旨在帮助你深入理解和应用这些概念。 1. **数组**:数组是最基本的数据结构,用于存储同类型的元素序列。编程题可能涉及...

    使用QuickBI 制作企业数据分析报表15道原题.zip

    本压缩包文件"使用QuickBI 制作企业数据分析报表15道原题.zip"包含了15个实际操作题目,旨在帮助用户熟悉并掌握QuickBI的核心功能和技巧。 1. 数据源接入:QuickBI支持多种数据源,如SQL数据库、MaxCompute、Hadoop...

    混合现场总线的数据处理.pdf

    本文以《混合现场总线的数据处理》为题,重点探讨了城市轨道交通站内设备的数据处理流程及其关键技术和方法。 关键词包括轨道交通、网络总线、站内设备、数据拆分、网络化数据处理、双重网络穿透等,这些关键词揭示...

    常见的MATLAB的文件和数据处理40道题.pdf

    MATLAB文件和数据处理知识点 MATLAB是一种高级的编程语言和开发环境,广泛应用于科学计算、数据分析和可视化领域。下面是MATLAB文件和数据处理相关的知识点: 1. 读取和写入文本文件:MATLAB可以使用`load`和`save...

    中南大学GPS数据处理考试试卷

    ### GPS数据处理考试知识点解析 #### 一、填空题解析 1. **观测站点与时间** - 对于标准RINEX文件`zndx028c.12o`,它观测的测站名为`zndx`,观测日期为2012年的第28天,时间段为`c`,即中央时段(通常指00:00到...

    数据采集与处理技术试卷要点.pdf

    - **数据处理**:对采集的数据进行各种数学运算和分析处理。 - **数据输出及显示**:将处理后的数据显示给用户或发送给其他系统。 - **人机交互接口**:提供用户与系统的互动界面。 **3. 数据采集系统性能评估参数*...

    信号处理课后题答案详细解释

    ### 信号处理课后题答案详细解释:深入解析与探讨 #### 一、信号采样原理及精度分析 在信号处理领域,采样是将连续时间信号转换为离散时间信号的过程,通常是为了便于数字信号处理。根据奈奎斯特采样定理,采样...

    93道网络安全面试题PDF资料

    网络安全面试题涵盖了多个关键领域的知识,包括SQL注入攻击、XSS攻击、CSRF攻击、文件上传漏洞和DDoS攻击,以及ARP协议的工作原理。下面将详细解释这些知识点: 1. **SQL注入攻击**:这是一种利用用户输入数据构造...

    精选17道海量数量处理面试题!.zip

    2. **大数据处理框架** - **Apache Spark**:掌握Spark的核心组件(如Spark Core、Spark SQL、Spark Streaming、MLlib),以及Spark RDD的概念。 - **Apache Hadoop**:理解Hadoop MapReduce的工作流程,以及...

    遥感数字图像处理题库整理

    - **数据表示**:照片中的“0”表示没有数据,而遥感数字图像中的“0”是有效的数值。 - **成像范围**:照片受限于可见光谱,而遥感数字图像可以覆盖整个电磁波谱。 - **颜色规划**:照片颜色固定,遥感数字图像的...

    数据采集与处理技术试卷.doc

    5. 数据处理分类:数据处理通常分为预处理和二次处理,前者是实时或在线处理,后者是事后或脱机处理。这种分类满足不同场景下的需求,实时处理适用于快速响应的控制系统,而脱机处理则适合大规模数据分析。 6. 集散...

    CCF软件能力认证往年试题答案21道题

    "CCF软件能力认证往年试题答案21道题" CCF软件能力认证往年试题答案涵盖了多个知识点,包括C++编程语言、数据结构、算法设计等。下面我们将对每个题目进行详细的讲解和分析。 1. 图象旋转 这个问题考察了考生的...

    Acm试题及答案29页试题集合全英文44道题目

    - **背景介绍**:该题增加了对多组数据处理的要求,考察学生的循环结构使用能力。 - **实现方法**: - 读取第一行输入,表示测试用例的数量 `n`。 - 接下来读取 `n` 行,每行包含两个整数 `a` 和 `b`。 - 对每组...

    数字图像处理练习题

    数字图像处理是一门涵盖了图像的获取、存储、处理以及显示等环节的计算机应用领域。...通过此类练习题目,不仅能够加深对数字图像处理概念的理解,同时也能够锻炼实际操作图像数据和处理图像问题的能力。

    Java题库175道选择题

    这篇“Java题库175道选择题”显然是为了帮助学习者检验和巩固这些关键知识点而设计的。 首先,基础语法是Java学习的第一步,包括变量声明、数据类型、运算符、流程控制语句(如if、switch、for、while)、方法定义...

Global site tag (gtag.js) - Google Analytics