数仓
向阳飞行
还在学习的路上
展开
-
字节电商-数仓面试
1.二叉树的广度优先,深度优先实现2.如何评价数仓的好坏3.通过上一问的几个方面如何给多个数仓打分-落地,量化4.a,b,c三张表a join b on a.id=b.id join c on b.id=c.id有几个map-reduce笔试:1.连续登录问题:求连续登录5天以上的人2.用户登录表,每次登录记录一条数据,登录时间精确到秒,求用户的登录总时长,如果两次登录时间超过三十分钟不作为连续登录,单条登录信息时间算03.微信红包 入参:红包个数,总金额 出参:数组,数组...原创 2021-10-13 15:32:21 · 978 阅读 · 2 评论 -
面试记录-数仓
MT-买菜1.简介2.项目介绍3.数据迁移中的校验,如何进行,数据量大不能全量比对如何优化4.0到1的数仓具体建设内容,ods/dwd/dws分别做了啥,维度退化从哪一步开始5.数据治理可以做的点6.sql+python题...原创 2021-07-19 21:38:37 · 270 阅读 · 0 评论 -
DataX-数据转换自定义函数
使用DataX将mysql数据倒入Hive由于字段包含【\n】导致Hive数据串行,在DataX配置文件中加入Transformer解决。参考-DataX-github问题:DataX本身自带的函数没有类似replace的替换函数所以需要自定义groovy函数来实现。 字段本身会有空值导致数据被过滤,需要做容错。话不多说上代码 "transformer":[ { ".原创 2020-12-25 16:57:58 · 3478 阅读 · 0 评论 -
数据仓库之拉链表
背景:在业务数据中存在会改变状态的数据,需要做历史分析,比如订单状态、登录位置等。问题:如何找到历史某一天的所有主体的状态。针对上述问题有三种解决方案:每天保存全量数据快照:每天都做数据全量备份,可直接查询历史某个节点的全量数据。 每天只做增量数据抽取:查询的时候需要按用户分组并过滤更新时间最近的数据。 每天做增量数据且完成拉链:查询指定开始和结束时间即可。上述三种方案的利弊...原创 2020-03-11 17:36:19 · 2888 阅读 · 0 评论