屡败屡战的大数据秋招之Hive 数据仓库总结

0. 数仓分层,各个层次是做什么的?各个层次的英文全称。😅😅阿里一面说不上来直接挂!!
ODS(Operational Data Store)数据引入层,DIM(Dimention)公共维度层,DWD(Data Warehouse Summary)明细数据层,DWS(Data Warehouse Summary)汇总数据层,ADS(Application Data Service)应用数据层。

ODS层用于接收并处理需要存储到数据仓库系统的原始数据。
DWD层通过对企业的业务活动事件构建数据模型。根据具体业务事件的特点,构建最细粒度的明细数据表。
DIM层使用维度构建数据模型。基于实际业务来定义维度、确定维度主键、添加维度属性。在构建完企业的一致性数据分析维表,可以统一数据计算口径。
DWS层对分析的主题对象构建数据模型。构建出公共粒度的汇总指标事实表。
ADS层用于存放数据产品个性化的统计指标数据,输出各种报表。

1. 了解Hive 的UDF吗?说一下包括什么?
  • User Defined Function。是用户自定义的函数,用于扩展Hive SQL的功能。UDAF aggregation function。用户自定义聚合函数。UDTF 用户自定义表生成函数
2. 介绍下Hive 编写 UDF 的过程,仔细介绍下?
  • UDTF 需要继承 GenericUDTF 抽象类并实现其中的initialize、process和close 方法。
  • initialize 方法传入输入的ObjectInspector,返回类型是StructObjectInspector也就是输出数据的Inspector。
  • process 处理数据,处理完的数据通过forward 方法将处理完的数据发送给其他算子
  • 当所有行都处理完了调用close 方法
  • 将编写的类打包,放到 user/hive/jars 路径下。之后创建永久函数与开发好的jar包关联。
3. Hive 数据倾斜了解吗?
4. Hive 动态分区介绍下
5. Hive 存储格式和压缩格式介绍一下
6. lateral_view_explode 和 collect_set 的使用
7. 留存率的计算
8. 每组排名前三位的用户
9. 说一下维度建模有哪几种模型?
  • 星型模型:由一个事实表和一组维度表构成。每个维度表都有一个维作为主键。最终将多个维度表集合到一个事实表里面形成一个宽表。
  • 雪花模型:是对星座模型的扩展。他对星型模型的维度表进行进一步层次化。原有的维度表可能会被扩展为小的事实表。
  • 星座模型:是由多个事实表组合形成,维度表是公共的,可以被多个事实表共享。
10. 说一下维度建模的过程?
  • 选择业务过程👉声明粒度 👉 确认维度 👉 确认事实
  • 选择业务过程:选择感兴趣的业务线。下单业务,支付业务,退款业务,物流业务,一张业务表对于一张事实表。(惹~ 确定建立哪些事实表
  • 声明粒度:精确定义事实表的每一行数据代表着什么
    粒度指的是数仓中的数据中保存数据 的细化程度,或者是综合程度的级别。直接拿DWD 和 DWS 作比较。后者粒度更大,前者粒度更细。数据越明细,粒度就越小。数据越汇总,粒度就越大。
  • 确认维度:与每张事实表相关的维度有哪些?谁,何处,何时,在哪?
  • 确认事实:确认每个业务中的度量值。(次数,个数,金额等等)
11. 数仓分层的好处
  • 数仓分层保障了数据在进入数据仓库之前都经过清洗和过滤,使原始数据不再杂乱无章
  • 优化了查询过程,有效的提高了数据获取、统计和分析的效率。
  • 数仓分层实现了各种不同维度数据的关联,使多维分析更加方便。
  • 为从多角度、多层次地数据分析和决策制定提供便捷。
12. Azkaban 流程调度,如何保证8点前拿到我想要的计算数据?
  • 是否有组件挂掉需要监视告警。
  • 同时数仓各个层次之间有数据依赖关系,如果某一层任务迟迟未完成,Azkaban 需要报警


#秋招##大数据开发工程师##OPPO##阿里巴巴##字节跳动#
全部评论
楼主厉害啊,刚还看你其他分享了
1 回复
分享
发布于 2022-09-27 09:50 陕西
22年的面试环境这么好吗?除了第六题没见过,都没难度啊
点赞 回复
分享
发布于 2023-08-16 16:08 广东
滴滴
校招火热招聘中
官网直投

相关推荐

17 101 评论
分享
牛客网
牛客企业服务