数仓业务相关的问题

数仓业务方面的问题

  1. 项目是怎么开始的,是有人给你提需求吗,有一个需求,从上往下做(从想要的报表结果触发),还是从下往上做(从ods->dwd->dws->ads),是需求来才开始做吗?
    l 有需求才开始做的,不是从公司一穷二白才开始做的,做的时候场景以及用了
    l 找同行的案列,看看这个行业都做哪些主题,然后参考一下,一般需求没有是没法做的
    l 经验丰富的就是从下往上做,已经知道这个行业该做什么了,表结构也都清晰了,以前做过的,知道该做哪些主题,不知道的话就先看看需求,我看好几个需求都有共同的计算,把共同的计算放在中间层
    l 全局的设计这一块我也做的不多,我也不是这一块的负责人,我就是根据一个主题需求写SQL的,这种事情都是老大做的事情,老大做全局的规划,
    l 拿到一个需求写的思路:首先看需求是算什么东西,然后看这些数据可能从哪里能得出来,比如要算一个漏斗,定义一个漏斗,算漏斗每一步的转化率:第一步:一个人操作一个事件、浏览了什么;第二步:搜索一个特定的关键词;第三步:点赞搜索的结果;第四步:点开了商品的详情;第五步:加购;第六步:提交订单算完成了。
    l 给你一个主题,你知道该做哪些报表吗?设计目前经验还不够,主要做具体的开发,给我一个需求我来写,写SQL,hive比较熟,大数据组件也有了解,做建模设计的话经验还不够,具体的需求做实际的开发,

答:产品经理提需求,开会评审,开发给出排期;两种做需求的方式据我了解都有,目前我司做AI领域使用的是从上往下做,是需求定下来后才开始动工
2. 对数仓有什么了解,分层,怎么判断一张表在哪一层,每一层的表怎么界定
l 没有按照具体的业务场景分,没有那么规范,做的没有那么理想,没有按照那些经典的理论来,
答:主体即为事实+维度建模,数仓的作用在于对企业数据进行管理,驱动公司运营决策.分层的目的在于统一数据出口,每一层的表可以通过名字判断,一般在表命名的时候会使用前缀加以区分它所在的层次
3. 数据量有多大,有多少张表,每张表里有多少条数据,要计算哪些逻辑,
l 神策数据
答:我司每天回到数仓的数据将近50g,大概有(轨迹表,人脸表,白名单表,交易表,事件表,员工表等,其中轨迹表中数据大约占30g,剩余其他表平分了).计算逻辑包括统计pv、uv、到场顾客性别分布、年龄分布、员工出勤情况、员工交易、接待个数统计等等
4. 服务的用户是哪些,总用户量,dau,做这些数据开发统计面向的是谁,实际上是做什么业务,报表的本身对他们有什么帮助,他们拿这些报表是干嘛,运营同学拿这个分析,做什么业务分析洞察,你做的这个报表的流向,
答:万达,周大福,红星美凯龙等,数据开发统计面向的是toB业务的甲方,业务就是给客户提供商业BI,报表可以更加精确的指导客户引流变现,客户拿到我们的报表可以方便进行铺位租金的定价、员工绩效表现的考核等优化
5. 数仓建模的时候,为什么用维度建模,为什么做分层,分层的逻辑是什么?有效率吗?
l 分层的意义所在:统计总流量,先按照会话聚合,再按照用户聚合,最后再做一个整的聚合,可以节省中间计算,让数据的层次明显,耦合度降低,
答:建模使用事实+维度可以更好的将现实问题与结构化数据完成映射,分层是为了保证数据质量、统一数据出口.可以提高数据的使用查询效率
6. 为什么避免对一张原始大表做操作,报表层依赖于dwd层的数据,
答:原始表中有脏数据,计算指标时候需要进行很多关联,会影响使用效率,我这里dwd层会对ods层数据进行清洗
7. 分层会有几个问题,不同的主题相同的指标可能会存在不同的结果,你怎么解释这个问题,或者怎么避免这个问题,比如在流量主题计算的dau和用户主题的dau 两个数据对不上了,你怎么解决这个问题,相对通用的方案或者工作流程来解决或避免这个问题,
l 为什么不一样,算错了不一样,谁算错了谁纠正
l 都没有算错的话,算的口径是不是不一样,重新定义规范,口径不同代表条件不同算的结果不同,没有对错之分
l 数据不一样、口径不一样,如果这些都一样,那就是算错了
答:不同主题的话,中间会涉及到不同的清洗和关联,不同的清洗手段和关联都会导致最后计算出的dau出现偏差,一般从原始表中计算一份作为参照,企业内部会设定允许的误差率
8. 数据开发的过程中会用到一些技术问题吗,跑数据的时候有没有遇到一些问题,写sql当中的跑数据当中性能问题,跑数据慢问题,怎么解决,性能问题,异常问题怎么解决?开发过程中几个比较印象深刻的问题,后来怎么解决的,
答:开发过程中肯定会遇到各类奇怪的问题的,google是最方便debug的工具,数据跑的慢首先看一下自己的sql是否可以优化,(是不是没有进行分区查询,关联冗余等),、;如果是由于yarn资源不够则需要增加运算资源;如果查看日志发现是数据倾斜问题,则应该对数据的聚合key加随机数重新处理或者对于倾斜数据单独喷配资源处理;开发过程中几个印象深刻的问题:hive查询数据比较慢没有办法满足产品经理的即时需求,切换成了presto内存计算引擎,解决了问题
9. 做数据仓库的价值是什么?分析做的那些报表的价值?你做的这些表的数据流向?对业务有哪些贡献力和推动力?报表的流向?这些报表的贡献?Bi报表本身产生的价值怎么去评估?
答:数仓价值:数据驱动产品迭代,数据驱动运营决策;报表的价值也就是围绕着前面这两点说即可,我司的价值是为客户实现精准零售;数据流向:商场摄像头实时抓拍人脸->回传至服务端->推送至kafka->flume消费kafka数据实时写入hdfs->T+1使用sparksql读取hdfs数据写入hive->数仓分层计算->写出到mysql->后段计算逻辑->前端展示;对业务的贡献就是可以帮甲方实现精准引流;报表的流向是产品经理和商务直接对接甲方来看;报表本身产生的价值可以让甲方对比精准引流前后,商场的赢利值的同比或者环比
10. 数据怎么治理?数据质量怎么保证?数据的准确性、及时性、稳定性、唯一性怎么去保证?
答:数据会做统一的质量管理平台,从后端到数仓每个环节都需要调用服务端的接口,上报本环节拿到的数据的数量,一旦相连的两环节数据量对不上就会进行短信和邮件报警;
数据的准确性通过开会维护wiki来明确数据的类型和格式,及时性可以通过目前的实时分布式框架flink和sparkstreaming来保证,稳定性这个是保证服务器不要大规模宕机就好了,当然现在我们数仓生产环境之外还有一个备份数仓
11. 离线数仓主要做哪些工作,你在这个过程中是作为什么角色?
l 主要就是一个sql开发人员,主要写SQL,建模这一块建模还不够,给我具体的需求我来开发,建模有一些浅显的理解,什么叫维度,
答:离线数仓做的就是T+1例行化产出的上述统计指标;我负责数仓etl和指标预计算写入mysql
12. 建模怎么分层,为什么做数据分层?什么方式去建模,
l 做报表,数据有,我就从dwd层找到数据,需要聚合就做个都问啥层的表,如果这张表能直接从dws层得出,我就直接从dws层抽取了,不要主动说分层不分层,公司有分层,不是我分的,给我一个具体的需求我就去找表,想办法抽,抽不到就找ods,最终写好了就放到ads层,不分主题,给我具体的需求我来开发,之前一直在写代码,知道概念,分层含义我也明白,
答:事实+维度进行建模;如果不分层需要从最原始的数据去算指标,扩展起来比较麻烦
13. 数仓主题是按照业务场景分还是业务流程分,你了解什么是主题,怎么对主题进行划分?
l 一般按照业务场景分,按流程也有
答:我这里是按照业务场景分的,我这里是一类项目一个主题,比如 商场mall、store、机场、停车场、景区等
14. dws层都做什么,会做一些跨主题之间的融合吗
答:事实表和维度表的关联,生成大的宽表,我司不会,但是移动互联网的业务有一些是会的
15. 拉链表中如果有脏数据了怎么办,怎么回滚,怎么修正?拉链表在哪一层做?主题表里面做拉链吗?如果原始就有日志,后期做拉链表是不是把前面的信息都同步过来
l 拉链表数据错误了,只能overwrite,重新算,更新的时候追加东西,错了重新跑
答:我现在用不到拉链表,我也忘的差不多了,给你找了篇技术博客
https://blog.csdn.net/u012965373/article/details/81515463
16. 流量日志怎么进ods层的,每一层到底怎么做?
l 直接导入进来的,不需要建模
答:解析日志内容,生成表要求的格式就可以写入hive了
17. 留存表里面有哪些信息,如果有那种没有账号的访问怎么办,那这条日志算什么呢?
l 访客也算用户的里面的流量信息,手机的imei码,有优先级,登陆了就先选择登陆的
答:三天留存率、一周留存率、一个月留存率等,没有账号的访问会使用登陆设备的物理信息作为统计的
18. 现在业界仓库两大建模理论
l 看过,理解不是很深刻,因为在公司做的时候,没有完全按照经典理论来做,一般比较灵活的,给一个需求,尽可能从现有的表里面去抽,如果没有的话,就新建一张表,慢慢的模型就没有那么理想化了
答:事实+维度,就答这个就行,另一个基本不用了我也忘记叫啥了
19. 快照表是怎么创建的:分区表增量表,ods,某个用户的订单,每天的不同订单放在不同的分区中,快照表是全量数据,当天的状态怎么通过一个增量分区,一个全量,快照表怎么加工,
l 快照表是一个数仓的概念,有些场景用,大多场景都不用
答:创建快照表有专门的建表语句可以百度到,当天的订单状态直接进入这一天的hive分区中
20. 建星型模型的标准是什么,对什么维度进行汇总,构建轻度汇总的时候考虑哪些,为什么构建这个维度的聚合,负责聚合数据的构建时,是怎么落地的,推动的步骤是怎么,怎么推动落地,指标确定了,然后选主题,然后呢,其他的业务需求都放在什么层,宽表都在哪一层构。
答:星型模型就是中间一个事实表,四周都

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值