列转行-多列转多行(横表变竖表)
多列转多行,横表变竖表
行转列-多行转多列(竖表转横表)
竖表转横表 原始数据中是一个竖表,每个学生的每个学科一行数据,对其转换成一张横表,即表中学生id为主键,包含语文、数学、英语三列,列值为对应学科分数。
spark3.5.1中内置函数大全
spark3.5.1中内置函数大全
一文搞懂连续问题
连续问题考察范围可能涉及到:开窗函数,lag函数,row_number(),sum()over(order by) 等各种函数,以及相关数据处理技巧等,无论选取那种方法,连续问题都是相对较为复杂,考察综合能力的一类问题。
行转列-多列一一对应
根据配送订单记录表,查询出骑手id,配送订单id列表、距离列表、配送费列表,要求三列中的数据按照送达时间顺序,且一一对应;
行转列-有序行转列
根据配送订单记录表,查询出骑手id,顾客id列表,要求顾客id列表中的顺序按照送达时间早晚排序。
(文末有福利)使用collec_list、collect_set函数进行行转列
使用 collect_list、collect_set、sort_array、concat_ws进行行转列
常见大数据面试SQL-有序行转列
有学生各学科分数表,记录了学生的各科分数,请按照学生粒度,生成两列数据分别为学科和分数,要求学科内的顺序与分数顺序一致。
基于VMware的开箱即用sparkonhive环境
我给大家准备了一个基于VMware已经搭建好全部环境的虚拟机,开箱即可启动环境进行练习。并且该环境中已经有了截止到目前www.dwsql.com 中已经有的所有题目的表和测试数据。
常见大数据面试SQL-max_by(x,y)处理缺失值
现有用户账户表,包含日期、用户id、用户余额,其中用户余额发生了缺失,需要进行补全。补全规则:如果余额为空则取之前最近不为空值进行填补。如果截止到最早日期都为空则补0;
大数据面试SQL-奖金瓜分问题
在活动大促中,有玩游戏瓜分奖金环节。现有奖金池为 10000元。规则如下:按照 score 从高到低依次瓜分,每人都能分走当前奖金池里面剩余奖金的一半,当奖金池里面剩余的奖金少于 250 时(不含),则停止瓜分奖金。晨曦
美团大数据面试SQL-计算用户首单是即时单的比例
在外卖订单中,有时用户会指定订单的配送时间。现定义:如果用户下单日期与期望配送日期相同则认为是即时单,如果用户下单日期与期望配送时间不同则是预约单。
阿里大数据面试SQL-用户行为轨迹
现有一份用户在各个地铁站进出的时间表和一份用户商场扫码行为表,其中商场扫码会存在多次取最新的数据,请查询出用户的行为轨迹
一文搞懂连续问题
连续问题考察范围可能涉及到:开窗函数,lag函数,row_number(),sum()over(order by) 等各种函数,以及相关数据处理技巧等,无论选取那种方法,连续问题都是相对较为复杂,考察综合能力的一类问题。
常见大数据面试SQL-各用户最长的连续登录天数-可间断
现有各用户的登录记录表t_login_events如下,表中每行数据表达的信息是一个用户何时登录了平台。 现要求统计各用户最长的连续登录天数,间断一天也算作连续,例如:一个用户在1,3,5,6登录,则视为连续6天登录。
常见大数据面试SQL-查询每个学科第三名的学生的学科成绩总成绩及总排名
有学生成绩表,包含学生姓名、学科、成绩三个字段,请用一条SQL查询出每个学科排名第三名的学生,他的学科成绩、总成绩、以及总排名。
百度大数据面试SQL-连续签到领金币
有用户签到记录表记录用户当天是否完成签到,请计算出每个用户的每个月获得的金币数量;签到领金币规则如下:用户签到获得1金币;用户连续签到3天则第三天获得2金币,用户连续签到7天则第7天获得5金币 连续签到7天后连续天数重置,每月签到天数重置;
常见大数据面试SQL-查询前2大和前2小用户并有序拼接
有用户账户表,包含年份,用户id和值,请按照年份分组,取出值前两小和前两大对应的用户id,需要保持值最小和最大的用户id排首位。
常见大数据面试SQL-查询每个产品每年总销售额
已知有表如下,记录了每个产品id、产品名称、产品销售开始日期、产品销售结束日期以及产品日均销售金额,请计算出每个产品每年的销售金额
滴滴大数据面试SQL-截止目前登陆用户数及登陆用户列表
已知有用户登录记录表包含登录日期和登录用户ID,请查询出截止到当前日期累积登录用户数及登陆用户列表