欢迎光临散文网 会员登陆 & 注册

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

2023-03-07 12:26 作者:zjlala96  | 我要投稿

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


1.Hive导出数据的五种方式?

1. Insert方式,查询结果导出到本地或HDFS

Insert overwrite local directory ‘/root/insert/student’ select id,name from student;

Insert overwrite directory ‘/user/ insert /student’ select id,name from student;

2. Hadoop命令导出本地

hive>dfs -get /user/hive/warehouse/student/ 000000_0 /root/hadoop/student.txt

3. hive Shell命令导出

]$ bin/hive -e ‘select id,name from student;’ > /root/hadoop/student.txt

4. Export导出到HDFS

hive> export table student to ‘/user/export/student’;

1.Sqoop导出

2.Hive是怎样保存元数据的?

保存元数据的方式有:内存数据库rerdy,本地mysql数据库,远程mysql数据库,但是本地的mysql数据用的比较多,因为本地读写速度都比较快

内存数据库derby,安装小,但是数据存在内存,不稳定

mysql数据库,数据存储模式可以自己设置,持久化好,查看方便。

3.说说对Hive桶表的理解?

桶表是对数据进行哈希取值,然后放到不同文件中存储。

数据加载到桶表时,会对字段取hash值,然后与桶的数量取模。把数据放到对应的文件中。物理上,每个桶就是表(或分区)目录里的一个文件,一个作业产生的桶(输出文件)和reduce任务个数相同。

桶表专门用于抽样查询,是很专业性的,不是日常用来存储数据的表,需要抽样查询时,才创建和使用桶表。

4.什么是 metastore?

metadata 即元数据。包含 database、tabel、column names、partitions 信息、bucketing 信息等的元数据信息。元数据默认是存储在 Derby 中,建议存储在关系型数据库中。

5.Hive如何动态分区?

与分区有关的有两种类型的分区:静态和动态。在静态分区中,您将在加载数据时(显式)指定分区列。

而在动态分区中,您将数据推送到 Hive,然后 Hive 决定哪个值应进入哪个分区。要启用动态分区,请设置下面的属性:hive.exec.dynamic.parition.mode=nonstrict;

insert overwrite table emp_details_partitioned partition(location)

select * from emp_details;

6.如何创建 bucket 表?

默认情况下,在 Hive 中禁用分桶功能,可以通过设置下面的属性强制启用分桶功能:

hive.enforce.bucketing=true;

锁屏面试题百日百刷-Hive篇(十二)的评论 (共 条)

分享到微博请遵守国家法律