3. 请把下一语句用hive方式实现?
SELECT a.key,a.value FROM a WHERE a.key not in (SELECT b.key FROM b) 答案: select a.key,a.value from a where a.key not exists (select b.key from b) |
4. Multi-group by 是hive的一个非常好的特性,请举例说明?
from A insert overwrite table B select A.a, count(distinct A.b) group by A.a insert overwrite table C select A.c, count(distinct A.b) group by A.c |
5. 请说明hive中 Sort By,Order By,Cluster By,Distrbute By各代表什么意思。
order by:会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)。只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。 sort by:不是全局排序,其在数据进入reducer前完成排序。 distribute by:按照指定的字段对数据进行划分输出到不同的reduce中。 cluster by:除了具有 distribute by 的功能外还兼具 sort by 的功能。 |
6. 简要描述数据库中的 null,说出null在hive底层如何存储,并解释selecta.* from t1 a left outer join t2 b on a.id=b.id where b.id is null; 语句的含义
null与任何值运算的结果都是null, 可以使用is null、is not null函数指定在其值为null情况下的取值。 null在hive底层默认是用'\N'来存储的,可以通过alter table test SET SERDEPROPERTIES('serialization.null.format' = 'a');来修改。 查询出t1表中与t2表中id相等的所有信息。 |
7. 写出hive中split、coalesce及collect_list函数的用法(可举例)。
最后
无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。
针对以上面试技术点,我在这里也做一些分享,希望能更好的帮助到大家。
61)]
[外链图片转存中…(img-qDkbaLs1-1714297391761)]