面试 hive常见面试题2

hive常见面试题2

1
2
3
4
每层都是一个单独的数据库
hive底层计算引擎可以换
hive的操作方式
hive仓库层次 ods dwd dws app
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
ODS层: 源数据层
作用: 对接数据源, 一般和数据源保持相同的粒度(将数据源数据完整的拷贝到ODS层)
建表比较简单:
业务库中对应表有那些字段, 需要在ODS层建一个与之相同字段的表即可, 额外在建表的时候, 需要构建为分区表, 分区字段为时间字段, 用于标记在何年何月何日将数据抽取到ODS层

DIM层: 维度层
作用: 存储维度表数据
此时不需要, 因为当前主题, 没有维度表

DWD层: 明细层
作用: 1) 清洗转换 2) 少量维度退化
思考1: 当前需要做什么清洗操作?
不需要进行清洗
思考2: 当前需要做什么转换操作?
需要对时间字段进行转换, 需要转换为 yearinfo, quarterinfo,monthinfo,dayinfo,hourinfo
思考3: 当前需要做什么维度退化操作?
两个事实表合并在一起

DWM层: 中间层 (省略)
作用: 1) 维度退化操作 2) 提前聚合
思考1: 当前需要进行什么维度退化操作?
没有任何维度退化操作, 压根都没有DIM层
思考2: 当前需要进行什么提前聚合操作?
可以尝试先对小时进行提前聚合操作, 以便于后统计方便
思考3: 当前主题是否可以按照小时提前聚合呢?
目前不可以, 因为数据存在重复的问题, 无法提前聚合, 一旦聚合后, 会导致后续的统计出现不精确问题

DWS层: 业务层
作用: 细化维度统计操作
一般是一个指标会对应一个统计结果表

DA层:
作用: 对接应用, 应用需要什么数据, 从DWS层获取什么数据即可
此层目前不做任何处理, 已经全部需要都细化统计完成了, 后续具体用什么, 看图表支持了...

数仓项目案例

案例一

分析

1
2
3
4
5
6
7
8
9
10
数据来自mysql

oozie自动化任务调度

finebi实现图表展示

HUE: 提升操作hadoop用户体验, 可以基于HUE操作HDFS, HIVE ...

基于cloudera manager进行统一监控管理
https://zhuanlan.zhihu.com/p/137631403
1
2
3
4
5
6
案例需求:
建立集团数据仓库,统一集团数据中心,把分散的业务数据进行预先处理和存储

根据业务分析需要,从海量的用户行为数据中进行挖掘分析,定制多维的数据集合,形成数据集市,供各个场景主题使用。

前端业务数据展示选择和控制,选取合适的前端数据统计、分析结果展示工具。

访问和咨询用户数据模块(全量分析)

1
2
web_chat_ems
web_chat_text_ems表是访问附属月表