美文网首页
数据仓库面试题

数据仓库面试题

作者: 太阳能手电筒 | 来源:发表于2020-02-17 12:40 被阅读0次

一般数据仓库面试会面两轮,第一轮一般是sql技术面,第二轮就是维度建模数据治理的问题。

一轮技术面(待补充):

1、数据倾斜:

数据倾斜一般产生的原因是数据在map端hash分配到reduce端时,某一个key的数量远大于其他的key,导致某一个reduce的处理时间较长。

1)key分布不均匀
2)数据本身就是如此
3)数据关联时没有把握好关联键

解决方案

1)参数调整:hive.map.aggr = true;hive.groupby.skewindata=true;
 当存在数据倾斜时开启负载均衡,此时会生成两个MapReduce任务,第一个MR任务会将map端产生的key随机的分配到reduce,先进行一次聚合,第二个MR任务会将第一个任务的预处理结果作为输入,将相同的key分配到同一个reduce当中。
2)sql调整:在处理大量空值导致数据倾斜的情况下,可以先将空值附一个特殊值去处理,比如给一个随机数加字符串的方式,因为空值数据是关联不上的,不会影响后期处理。

2、order by,sort by,cluster by,distribute by的区别

1)order by是全局排序,排序过程在一个reduce中进行,在数据量较大时就会很慢
2)sort by是局部排序,排序结果在同一个reduce中使有序的
3)distribute by是将数据按照字段划分到一个reduce中,一般与sort by连用进行分组排序的作用
4)cluster by除具有distribute by功能外还具有sort by的功能

order by优化(阿里面试):
1)开启严格模式,order by之后添加limit子句
2)利用sort by,在每个reduce中先排序取出top项,再把预处理结果order by输出

3、hive中内部表和外部表的区别

1)在创建表的时候,内部表是将数据移动到数据仓库指向的路径,外部表仅记录数据所在的路径,不对数据的位置做任何改变。
2)在删除表的时候,内部表会将元数据和数据都删除,外部表只删除元数据。

4、列转行、行转列

1)列转行:lateral view explode(split('column_name',','))作为一个新表
2)行转列:concat_ws(',',collect_set(column_name))

5、mapreduce运行原理

6、数据仓库分层原理(阿里面试)

7、维度建模中三种事实表的应用场景(阿里面试)

二轮面试(待补充)

相关文章

  • 数据仓库面试题

    一般数据仓库面试会面两轮,第一轮一般是sql技术面,第二轮就是维度建模和数据治理的问题。 一轮技术面(待补充): ...

  • 大数据经典学习路线(及供参考)之 二

    2.1 数据仓库增强 2.1.1 数据仓库及数据模型入门 什么是数据仓库、数据仓库的意义、数据仓库核心概念、数据仓...

  • 实训总结20170923

    数据仓库概述 什么是数据仓库? 创始人W.H.Inmon在《建立数据仓库》一书中对数据仓库的定义是:数据仓库就是面...

  • 数据仓库

    目录一. 什么是数据仓库二. 数据仓库能干什么?三. 数据仓库的特点四. 数据仓库发展历程五. 数据库与数据仓库的...

  • 数据仓库与数仓建模

    1.数据仓库 1.1 什么是数据仓库 数据仓库,英文名为Data Warehouse,简写为DW或DWH。数据仓库...

  • 数据仓库技术

    数据仓库基础 数据仓库的价值 数据仓库的源数据类型 数据仓库的基本架构 数据仓库的多维数据模型 数据立方体与OLA...

  • 数据仓库笔记

    数据仓库的作用 数据仓库的特点 数据仓库中的数据是面向主题的 数据仓库中的数据是集成的 数据仓库中的数据是不可更新...

  • 数据仓库

    数据仓库简介 一:什么是数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库...

  • Hive数据仓库与企业级优化

    一 数据仓库 1什么是数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,...

  • 数仓基础概念

    数据仓库 什么是数据仓库? 数据仓库,英文名称为Data Warehouse,关于数据仓库概念的标准定义业内认可度...

网友评论

      本文标题:数据仓库面试题

      本文链接:https://www.haomeiwen.com/subject/bhqcpxtx.html