![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据面试
一颗向上的草莓
后台开发者,前端爱好者,个人博客:http://catchu.github.io
展开
-
Hbase热点问题
Hbase结构及rowkeyHbase结构Hbase的表组成:一个表可以理解成是行的集合,行(记录)是列族的集合,列族是列的集合。列族column family:它是column的集合,在创建表的时候就指定,不能频繁修改。值得注意的是,列族的数量越少越好,因为过多的列族相互之间会影响,生产环境中的列族一般是一个到两个。数据的持久化文件HFile中是按照Key-Value存储的,同一个列族的所有列存储在同一个底层存储文件里。Hbase的数据在HDFS中的路径结构如下:hdfs://h201:80转载 2020-06-09 16:18:02 · 259 阅读 · 0 评论 -
两个大文件中找出共同记录
1.题目描述给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?2.思考过程(1)首先我们最常想到的方法是读取文件a,建立哈希表(为什么要建立hash表?因为方便后面的查找),然后再读取文件b,遍历文件b中每个url,对于每个遍历,我们都执行查找hash表的操作,若hash表中搜索到了,则说明两文件共有,存入一个集合。(2)...转载 2019-05-12 22:37:23 · 677 阅读 · 0 评论 -
大文件中返回频数最高的100个词
1.题目描述有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M,要求返回频数最高的100个词2.思考过程(1)参见我的其他大数据面试题博文。此处1G文件远远大于1M内存,分治法,先hash映射把大文件分成很多个小文件,具体操作如下:读文件中,对于每个词x,取hash(x)%5000,然后按照该值存到5000个小文件(记为f0,f1,...,f4999)...转载 2019-05-12 22:49:15 · 2020 阅读 · 2 评论 -
在超大文件中找出访问百度次数最多的IP
1.题目描述现有海量日志数据保存在一个超级大的文件中,该文件无法直接读入内存,要求从中提取某天出访问百度次数最多的那个IP2.思考过程(1)面试中若题目提到大文件等,其实就是告诉你数据量大,不能一次性加载到内存中,而实际中我们就需要估算。既然是要对访问百度次数的ip做统计,我们最好先预处理一下,遍历把访问百度的所有ip写到另一个文件a中(2)ip用32位表示,所以最多有2^32个不同i...转载 2019-05-12 22:53:18 · 758 阅读 · 0 评论 -
hadoop面试题(一)
1、Hive中存放是什么?表。存的是和hdfs的映射关系,hive是逻辑上的数据仓库,实际操作的都是hdfs上的文件,HQL就是用sql语法来写的mr程序。2、Hive与关系型数据库的关系?没有关系,hive是数据仓库,不能和数据库一样进行实时的CURD操作。是一次写入多次读取的操作,可以看成是ETL工具。3、Flume工作机制是什么?核心概念是agent,里...原创 2019-08-25 19:45:35 · 206 阅读 · 0 评论 -
大数据面试题(二)
1、kafka的message包括哪些信息一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、压缩格式等等);...原创 2019-08-25 20:50:56 · 341 阅读 · 0 评论 -
HBase面试题
1 每天百亿数据存入HBase,如何保证数据的存储正确和在规定的时间里全部录入完毕,不残留数据答:看到这个题目的时候我们要思考的是它在考查什么知识点?我们来看看要求:1)百亿数据:证明数据量非常大2)存入HBase:证明是跟HBase的写入数据有关3)保证数据的正确:要设计正确的数据结构保证正确性4)在规定时间内完成:对存入速度是有要求的那么针对以上的四个问题我们来一一分析1)...原创 2019-08-25 22:03:30 · 625 阅读 · 0 评论 -
spark面试题(一)
1.spark中的RDD是什么,有哪些特性?答:RDD(Resilient Distributed Dataset)叫做分布式数据集,是spark中最基本的数据抽象,它代表一个不可变,可分区,里面的元素可以并行计算的集合Dataset:就是一个集合,用于存放数据的Destributed:分布式,可以并行在集群计算Resilient:表示弹性的,弹性表示1.RDD中的数据可以存储...转载 2019-08-25 22:25:01 · 1554 阅读 · 0 评论