面试题
文章平均质量分 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 · 254 阅读 · 0 评论 -
大数据面试题 -- 06
1、数仓分层的作用 2、每层的作用 3、hive和mysql的区别 Hive 和数据库除了拥有类似的查询语言,再无类似之处。 1、数据存储位置 Hive 存储在 HDFS 。数据库将数据保存在块设备或者本地文件系统中。 2、数据更新 Hive中不建议对数据的改写。而数据库中的数据通常是需要经常进行修改的, 3、执行延迟 Hive 执行延迟较高。数据库的执行延迟较低。当然,这个是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive的并行计算显然能体现出优势。 4、数据规模 Hive支持原创 2020-12-19 09:35:32 · 140 阅读 · 0 评论 -
大数据面试题 -- 04
1、hdfs的写流程 1、client调用分布式文件系统对象通过RPC协议连接namenode,调用create方法在namenode上创建一个新文件,此时文件中是没有数据的 2、namenode会对client进行权限检查,和检查这个文件是否存在,如果通过检查,返回client一个输出流对象,如果没通过则返回IOExceptiion 3、通过检查后,client向namenode请求上传节点,namenode根据机架感知策略返回副本数个datanode(一般为3个),client将这些节点连接起来形成一个原创 2020-12-17 21:35:45 · 187 阅读 · 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; //有数据倾斜时开启负载均衡,默认false set hive.auto.convert.join=true; //设置自动选择MapJoin,默认是原创 2020-12-04 18:03:51 · 200 阅读 · 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 · 173 阅读 · 0 评论 -
大数据面试题 -- 01
1、讲一下数仓吧。 数仓是一个面向主题的,集成的,相对稳定的,反映历史变化的一个数据仓库,主要用于支持管理决策。 面向主题:数仓中的数据是按照主题进行存储的,每一个主题都是决策层分析的一个角度。 集成的:不管什么来源的数据都会统一放到数仓中。并且格式,单位,名称等要统一。 相对稳定:数据一旦进入数仓中一般不会轻易改变。就算改变也不改变原数据,只是会根据需求重新考虑数据的更新策略。 反映历史变化的:时间维度是数仓中很重要的一个维度,数仓中的数据时间跨度会很大,可能有几年到十几年,能反映历史变化。 2、数仓分层原创 2020-12-02 20:01:38 · 551 阅读 · 0 评论
分享