数据仓库复习

1、数据仓库建设

一般在OLAP中使用维度建模,在OLTP中使用3NF建模

数据仓库的建设主要分为以下四个步骤 :业务建模 -> 领域建模 -> 逻辑建模 -> 物理建模 (要理解其大概步骤)

互联网数仓与传统数仓还是有所区别的,主要在操作的是人员、数据的加工ETL、以及对业务的支持模式(数据立方体或数据中台)

维度建模

缺点:一般在ODS层不用维度建模,因为无法百分百保证一致性,并且假如在ODS层时出错了,恢复数据的成本很大,

维度建模需要对数据较多的预处理,投入的存储空间和人力资源较大

优点:比较适合做分析

范式建模

缺点:范式建模不太适合做复杂的分析

优点:处理起来简单

要知道数据中台与数据库的区别

2、Sql应用题

(1)统计连续登录超过三天的用户

Mysql

(2)row_number实现

(3)limit 分页时跨度过大如何解决(子查询)

Hive

(4)row_number

(5)开窗函数

(6)行转列、列转行的方法

(7)缓慢变化维

3、优化方面

一、数仓整体优化可以从以下4个方面优化

(1)模型优化

选定合适的建模方法

适当拆表、合表、创建中间表

合理对待缓慢变化维

合理使用分区表、二级分区表等

(2)调度优化

尽量少依赖、减少长依赖

关键任务定时时间提前

生产任务与测试任务尽量库与库之间隔离

(3)同步优化

注意数据同步任务的资源性能

计算资源优化、减少数据倾斜

(4)脚本优化

尽量禁止Select*

尽量先做逻辑计算如UDF、再Join

尽量合表

尽量避免Map和Reduce倾斜

大表Join尽量先去重、Null值处理、从业务优化

二、Hive优化

(1)explain查看执行计划,定位数据倾斜

(2)合理增加map、reduce数量

(3)增加环形缓冲区的大小(默认100)

(4)开启map端合并

(5)开启combiner合并

(6)开启推测执行

(7)开启并行执行

(8)开启mapjoin、设置合理的mapjoin表的大小

(9)JVM重用

(10)存数据用压缩 stored as orc

orc、parqurt与snappy、textFIle的区别

Array、map、struct数据格式

三、spark优化

待写

4、算法题

字典排序、全排序、快排、选择、冒泡、归并、插入

5、数据结构

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值