hive相关知识

数据库的相关知识
1.union 和 union all的区别
两个都能进行全连接,但是表字段名称需要相同。不同的是union连接后的结果去重,union all的结果不去重

2.rank()over()和row_number()over() 的区别
rank()over()的结果对存在的并列现象会全部显示,而row_number()over()则对结果只显示一个。

如想找到成绩最好的人中身高最高的,则需要rank()over(partition by order by 成绩 desc),之后再用row_number()over(partition by order by 身高 desc)

3.在做数据关联时候,使用left join过程中为防止数据发生倾斜,一般是小表作为主表去关联大表

4.lead()函数和lag()函数使用方法
lag()函数:查询当前行向上偏移n行后的结果(直观上是总体下移n行)
该函数有三个参数:第一个为待查询的列,第二个为向上偏移的行数,第三个为超出最上边界的默认值
lead()函数:查询当前行向下偏移n行后的结果
该函数有三个参数:第一个为待查询的列,第二个为向下偏移的位数,第三个参数为超出最下边界时的默认值。

5.(未完待续)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值