数据仓库复习

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、数据结构

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值