2020数仓面试题

问答题:

1.了解到的从数据库抽取数据到数仓的软件都有那些,目前大数据平台大多不支持updata操作,针对每日增量数据与历史数据合并,常用的都有那些方法。

解题关键点: full outer join insert overwrite 每天保留一份全量快照

2.有没有遇到过数据质量的问题,一般都是那些环节问题,平时是如何保证数据的正确性。

3.业务方数据库的数据类型和大数据数仓的数据类型不一致,你是怎么处理的,统一表结构的规则是什么?一般这个规则是谁来制定。

4.hive分区表和分桶表的区别是什么。有哪些应用场景。

5.es了解么?讲下对于es游标的理解。

6.redis了解么?一般都有什么应用场景,redis的数据类型有那些。

7.Hbase了解么?rowkey一般怎么设计。一般都有什么应用场景。

8.什么是数据仓库,如何构建数据仓库?

解题关键点:

        业务调研 需求调研 数据调研

        业务域    主题域     数据域  

        分层架构 定制规范 命名规范、开发规范、流程规范

        维度建模 星座模型 宽表 粒度 指标体系

        任务调度 数据质量 元数据管理 血缘关系 数据治理

        BI可视化 OLAP多维分析 用户画像 推荐系统 

9.元数据的理解?元数据管理系统?

10.数仓如何分层的?及每一层的作用?思考:为什么要这么分层?

应用题

题目背景

现有一张用户观看记录表 ev_fs_view,基于该表需要进行相关统计分析。

数据如下
ymd user_id age view_time register_time
20200401 0001 25 15min 2020-04-01 13:01:23
20200401 0002 33 24min 2020-04-01 15:06:36
20200402 0001 25 35min 2020-04-01 13:01:23
20200403 0004 38 4min 2020-04-03 21:00:01
20200404 0001 15 9min 2020-04-01 13:01:23
20200402 0002 33 33min 2020-04-01 15:06:36
20200403 0002 33 17min 2020-04-01 15:06:36
20200402 0003 45 47min 2020-04-02 11:00:01
20200404 0005 55 27min 2020-04-04 21:00:01
20200405 0005 55 24min 2020-04-04 21:00:01
问题如下

统计:用户总量,用户平均年龄
统计:每天注册的用户数,和用户累计观看时长,用户平均观看时长
统计:每10岁一个分段,统计每个区间的用户总量,用户平均观看时长
统计:每天观看时长最长的用户userid
统计:用户次日留存情况
统计:每天观看时长都大于20min的用户总量,只要有一天观看时长小于20min就不算。

解题要求

1.请用hive-sql分别写出每个问题的解题过程。

你可能感兴趣的:(数据仓库)