- 博客(11)
- 收藏
- 关注
原创 度小满-数据仓库面试
度小满-数据仓库面试 自我介绍 你感觉自身主要能力是什么? 数据开源组件了解多少? Hive、Spark底层怎么解析SQL,怎么加工执行了解吗? MapReduce的环形缓冲区对数据进行排序的算法是什么?进行排序的原因是什么? 快排 环形缓冲区排序的作用和影响? (1)环形缓冲区不需要重新申请新的内存,始终用的都是这个内存空间。大家知道MR是用java写的,而Java有一个最讨厌的机制就是Full GC。Full GC总是会出来捣乱,这个bug也非常隐蔽,发现了也不好处理。环形缓冲区从头到尾都在用那
2022-01-05 10:01:54
546
原创 松果出行-数据仓库SQL面试题
一、SQL题目 松果出行解决了千千万万用户短途出行的需求,现PM想统计最近3个月松果用户连续用车交易的总额,连续用车天数,连续用车开始时间和连续用车结束时间,用车间隔天数等数据指标。已知表字段和类型有:用户id (userjd)为整型,用车开始时间(start_time)为date类型,用车结束时间(end.time)为date类型;交易金额(amout)为浮点型。请按以下回答以下问题: (1)请根据已知条件来设计一张Hive表来存储数据,要求给出完整表结构. (2)请根据设计出的表结构,自行模拟数据,写到
2021-12-25 16:36:15
220
原创 Hive order by limit和sort by limit区别
一、导言 order by和sort by都是hive中的排序方式,区别在于order by只有一个reduce对全表数据进行排序,sort by会按照key值分区在不同的reduce内部排序。那么对排序结果取limit的话,Hive会怎么处理呢? 二、执行计划比较 数据表myhive.score select * from score; score.s_id score.c_id score.s_score score.month 06 04 80 2
2021-11-26 14:12:38
2049
原创 数仓面经-2
快手面试题: 1. 介绍数据仓库模型分层设计、层级作用功能、设计思路? 2. 数仓的设计原则:尽量满足复用性,尽量满足复用性。那么在范式建模上层的DW层,因为有比较多外键,如何输出较为好用的数据表? 3. DW层数据粒度是怎样的?如果做聚合的话,如果确定汇总粒度? 4. DW层和DM层的区别什么? 5. SQL题目: 直播事实表:fact_live live_id user_id time(ms级时间戳) duration 直播维度表:dim_live live_id params 需求输出: user_i
2021-11-22 22:18:14
1764
原创 Hive SQL处理电费数据行转列
Hive SQL处理缺失日期补齐 一、题目 给定一个表temp,字段是 user_id,clo1,col2…col12 12各字段代表12个月电费,求最终结果展现:user_id,month,money 二、处理逻辑 with temp as (select 1 as user_id,212 as 1month,432 as 2month,887 as 3month) select user_id,a.month,a.money from temp lateral view explode(map('Jar
2021-10-12 22:25:32
270
原创 Flink 窗口开始时间解析
一、场景 以有序数据流中的WaterMark和EventTime为例: 设置有序数据流时间语义为EventTime事件时间,即水位线WaterMark等于EventTime,设置窗口大小为5s。 第一次事件时间为 1461756859000(2016-04-27 19:34:19) 第二次事件事件时间为1461756860000(2016-04-27 19:34:20) 触发水位线,窗口数据返回: 窗口的数据条数:1 窗口的第一条数据:(000001,1461756859000) 窗口的最后一条数据:(00
2021-09-15 11:36:35
979
1
原创 SparkCore中groupByKey和reduceByKey
一、概念 groupByKey([numTasks]) 在一个(K,V)的RDD上调用,返回一个(K, Iterator[V])的RDD reduceByKey(func, [numTasks]) 在一个(K,V)的RDD上调用,返回一个(K,V)的RDD,使用指定的reduce函数,将相同key的值聚合到一起,与groupByKey类似,reduce任务的个数可以通过第二个可选的参数来设置 二、性能 groupByKey 全局聚合算子,将所有map task中的数据都拉取到shuffle中将key相同的数
2021-09-01 16:06:31
310
原创 Hive SQL写出连续三天都登录的用户
题目: sql写出连续三天都登录的用户 建表及数据准备 create table test_user_login_3days( user_id int, login_date date ); insert into test_user_login_3days values (123,'2018-08-02'); insert into test_user_login_3days values (123,'2018-08-03'); insert into test_user_login_3d
2021-08-12 14:17:37
3408
原创 数据仓库面经-1
一、乐趣面试(20210811) 1、自我介绍 2、Spark on Yarn的执行过程 3、Spark哪些算子会触发shuffle 4、Spark Shuffle的原理是什么 5、MapReduce和Spark的Shuffle有哪些区别 6、MapReduce的shuffle原理 7、MapReduce的map个数和reduce个数是怎么确定的 8、Hive调优如何定位问题、排查思路 9、Json解析问题: Json数据为二级嵌套格式,并且数据元素个数不确定,也不确定key值是什么,这种情况下如何获取va
2021-08-12 08:54:27
551
原创 Hive SQL处理缺失日期补齐
Hive SQL处理缺失日期补齐一、题目二、Hive建表初始化三、处理逻辑 一、题目 用hive函数实现如图效果 二、Hive建表初始化 --创建表 create table test01(id int,start_dt date,end_dt date); --插入数据 insert into test01 values(1,'2013-04-05','2013-04-09'); 三、处理逻辑 --处理逻辑 select id, date_add(start_dt,i) as new_dt
2021-08-11 15:26:19
4309
4
原创 Hive on MapReduce 性能优化
Hive on MapReduce 性能优化MapReduce完整流程MapTask工作机制ReduceTask工作机制MapTask工作机制:ReduceTask工作机制:性能优化思维导图性能优化 MapReduce完整流程 MapTask工作机制 ReduceTask工作机制 MapTask工作机制: Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value。 Map阶段:该节点主要是将解析出的key/value交给用户编写m
2021-05-28 11:07:10
446
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅