面试题
文章平均质量分 76
xiaoxiao______
这个作者很懒,什么都没留下…
展开
-
大数据面试题 -- 05
1、hive的数据倾斜现象:在执行MR任务的时候,大多数的reduce节点都执行完毕,而只有几个reduce节点运行很慢或者一直卡在99%,导致整个MR任务运行很慢。原因:这是因为某一个或几个key的数据量要比其他key要多很多,导致这一个reduce节点运行很慢key分布不均匀sql语句本身就会倾斜业务导致建表考虑不周解决思路:1、在map阶段解决2、对key进行操作解决方法:1、使用combine方法在map端提前进行一个reduce计算,大大减少到reduce端时的数据量。但原创 2020-12-22 11:24:36 · 140 阅读 · 0 评论 -
大数据面试题 -- 06
1、数仓分层的作用2、每层的作用3、hive和mysql的区别Hive 和数据库除了拥有类似的查询语言,再无类似之处。1、数据存储位置Hive 存储在 HDFS 。数据库将数据保存在块设备或者本地文件系统中。2、数据更新Hive中不建议对数据的改写。而数据库中的数据通常是需要经常进行修改的,3、执行延迟Hive 执行延迟较高。数据库的执行延迟较低。当然,这个是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive的并行计算显然能体现出优势。4、数据规模Hive支持原创 2020-12-19 09:35:32 · 64 阅读 · 0 评论 -
大数据面试题 -- 04
1、hdfs的写流程1、client调用分布式文件系统对象通过RPC协议连接namenode,调用create方法在namenode上创建一个新文件,此时文件中是没有数据的2、namenode会对client进行权限检查,和检查这个文件是否存在,如果通过检查,返回client一个输出流对象,如果没通过则返回IOExceptiion3、通过检查后,client向namenode请求上传节点,namenode根据机架感知策略返回副本数个datanode(一般为3个),client将这些节点连接起来形成一个原创 2020-12-17 21:35:45 · 74 阅读 · 0 评论 -
大数据面试题 -- 03
1、hive开启map端join的参数,以及其他优化参数map端join适合优化小表join大表的情况(写sql时将小表作为驱动表,也就是select a from b join c on b.id=c.id -->b 为小表,写左边)mapjoin优化适合小表join大表set hive.optimize.skewjoin=true; //有数据倾斜时开启负载均衡,默认falseset hive.auto.convert.join=true; //设置自动选择MapJoin,默认是原创 2020-12-04 18:03:51 · 100 阅读 · 0 评论 -
大数据面试题 -- 02
1、kafka出现消息堆积怎么办?1、最简单的原因:消费者太少,增加消费者来解决2、还有一个原因就是消费者每次poll的数据业务处理时间不能超过kafka的max.poll.interval.ms,该参数在kafka 0.10.2.1 中的默认值是300s,所以要综合业务数据来设置每次poll的数据量。2、kafka如何实现高吞吐?顺序读写在硬盘中采用顺序读写的方式,性能损耗不大零拷贝“零拷贝技术”只用将磁盘文件的数据复制到页面缓存中一次,然后将数据从页面缓存直接发送到网络中(发送给不同的订阅原创 2020-12-02 20:01:10 · 93 阅读 · 0 评论 -
大数据面试题 -- 01
1、讲一下数仓吧。数仓是一个面向主题的,集成的,相对稳定的,反映历史变化的一个数据仓库,主要用于支持管理决策。面向主题:数仓中的数据是按照主题进行存储的,每一个主题都是决策层分析的一个角度。集成的:不管什么来源的数据都会统一放到数仓中。并且格式,单位,名称等要统一。相对稳定:数据一旦进入数仓中一般不会轻易改变。就算改变也不改变原数据,只是会根据需求重新考虑数据的更新策略。反映历史变化的:时间维度是数仓中很重要的一个维度,数仓中的数据时间跨度会很大,可能有几年到十几年,能反映历史变化。2、数仓分层原创 2020-12-02 20:01:38 · 333 阅读 · 0 评论