锁屏面试题百日百刷-Hive篇(三)

    锁屏面试题百日百刷,每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cn/#/introductionPage。已收录了每日更新的面试题的所有内容,还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你在面试中先人一步!接下来的是今日的面试题:

1.Hive底层与数据库交互原理?

由于Hive的元数据可能要面临不断地更新、修改和读取操作,所以它显然不适合使用Hadoop文件系统进行存储。目前Hive将元数据存储在RDBMS中,比如存储在MySQL、Derby中。元数据信息包括:存在的表、表的列、权限和更多的其他信息。

2.Hive中row_number(),rank()和dense_rank()的区别?

row_number():根据查询结果的顺序计算排序,多用于分页查询

rank():排序相同时序号重复,总序数不变

dense_rank():排序相同时序号重复时,总序数减少

3.Hive中常用的系统函数有哪些?

date_add(str,n)、date_sub(str,n) 加减时间

next_day(to_date(str),’MO’) 周指标相关,获取str下周一日期

date_format(str,’yyyy’) 根据格式整理日期

last_day(to_date(str)) 求当月最后一天日期

collect_set(col) 收集数据返回一个以逗号分割的字符串数组

get_json_object(jsondata,’$.object’) 解析json,使用'$. object’获取对象值

NVL(str,replace) 空字段赋值,str为空返回replace值;两个都为空则返回null

4.Hive如何实现分区?

建表:create table tablename(col1 string) partitioned by(col2 string);

添加分区:alter table tablename add partition(col2=’202101’);

删除分区:alter table tablename drop partition(col2=’202101’);

5.Hive导入数据的五种方式?

1. Load方式,可以从本地或HDFS上导入,本地是copy,HDFS是移动

本地:load data local inpath ‘/root/student.txt’ into table student;

HDFS:load data inpath ‘/user/hive/data/student.txt’ into table student;

2. Insert方式,往表里插入

insert into table student values(1,’zhanshan’);

3. As select方式,根据查询结果创建表并插入数据

create table if not exists stu1 as select id,name from student;

4. Location方式,创建表并指定数据的路径

create external if not exists stu2 like student location '/user/hive/warehouse/student/student.txt';

5. Import方式,先从hive上使用export导出在导入

import table stu3 from ‘/user/export/student’;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值