做大数据,Hive SQL也是必问的,大厂的ETL任务很多都是Hive SQL,主要问题如下:
1.Hive row_number,rank两个函数的区别
2.Hive窗口函数怎么设置窗口大小
3.Hive order by,sort by,distribute by,cluster by 区别
4.Hive map,reduce数怎么设置
5.Hive SQL数据倾斜有哪些原因?怎么优化
6.parquet数据格式内部结构了解吗
7.Hive数据选择的什么压缩格式
8.Hive SQL 如何转化成MR任务的
9.Hive 分桶了解吗
10.Hive的udf、udaf和udtf了解过吗?自己有没有写过udf
11.怎么验证Hive SQL 的正确性
12.lateral view explode关键字来拆分数组
13.join操作底层的MapReduce是怎么去执行的
SQL应用题:
1.一个login_in表,userid、login_time、ip,数据量很大,一个人可能有多条登录数据,取出最近10个登录的用户。
2.还是login_in表,统计登录的总条数( PV )和登录的总人数 (UV)。
3.一个用户好友表 userid , follow_list (该用户的好友id数组)
A [B, C, D]
B [A, C]
C [D]
统计这个表有多少对好友