还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
hive面试题及答案
一、文档说明本文档整理了Hive面试中高频出现的题目及参考答案,涵盖基础概念、操作语法、性能优化、架构原理等核心知识点,适用于Hadoop开发、数据仓库工程师等岗位面试备考题目按题型分类,答案简洁实用,可直接参考
二、单项选择题(共30题,每题1分)Hive中不支持的数据类型是()A.TINYINT B.FLOAT C.VARCHAR D.ARRAY答案C(Hive
2.0后支持VARCHAR,若为旧版本则选C)以下关于Hive分区表的描述,正确的是()A.分区字段必须是字符串类型B.分区表查询时必须指定分区C.分区可提高查询效率D.分区表不支持动态分区答案CHive中,count1与count*的主要区别是()A.性能不同B.结果不同C.语法不同D.无区别答案D以下哪种文件格式在Hive中通常不用于存储小文件()A.ORC B.Parquet C.TextFile D.SequenceFile答案CHive的执行引擎不包括()A.MapReduce B.Tez C.Spark D.Flink答案D关于Hive外部表,正确的是()A.删除表时不删除数据B.必须指定存储路径第1页共11页C.不支持分区D.与内部表查询语法不同答案AHive中,以下哪个命令用于查看执行计划()A.explain B.describe C.show tablesD.select答案A数据倾斜最可能导致的问题是()A.查询结果错误B.任务OOM C.表数据丢失D.元数据损坏答案BHive分桶表的主要作用是()A.提高分区查询效率B.实现数据抽样C.增加表的存储容量D.简化表结构答案B以下关于Hive Metastore的描述,错误的是()A.存储表结构信息B.支持本地模式和远程模式C.必须与Hive服务部署在同一节点D.可使用MySQL作为存储数据库答案CHive中,like a%的含义是()A.匹配以a开头的字符串B.匹配包含a的字符串C.匹配以a结尾的字符串D.无意义答案A以下哪种操作可能导致Hive表数据重复()A.开启事务B.分桶表写入C.动态分区插入D.全表扫描答案C第2页共11页Hive中,order by、sort by、distribute by、cluster by的区别是()A.`order by`全局排序,其他局部排序B.`sort by`全局排序,其他局部排序C.`distribute by`全局排序,其他局部排序D.无区别答案A关于Hive的UDF,正确的是()A.输入多行输出多行B.必须继承HiveUDF类C.只能在查询中使用D.无返回值答案BHive
0.14版本新增的重要特性是()A.支持事务表B.支持分桶C.支持ORC格式D.支持视图答案A以下哪种情况会导致Hive查询性能下降()A.使用小表JOIN大表B.分桶表JOINC.谓词下推D.压缩表存储答案AHive中,drop tableif existst的作用是()A.删除表结构B.删除表数据C.若表存在则删除D.无操作答案C关于Hive中的索引,正确的是()A.适用于大表B.会增加写入开销C.支持所有查询类型D.无需维护答案BHive中,group by导致数据倾斜的主要原因是()第3页共11页A.key值重复B.key值分布不均C.数据量过大D.无此问题答案B以下哪种格式在Hive中压缩率最高()A.Snappy B.Gzip C.LZO D.BZip2答案DHive与传统关系型数据库(如MySQL)的主要区别是()A.不支持SQL语法B.基于内存计算C.适用于结构化数据D.不支持事务答案DHive中,insert overwritetable tselect*from t的结果是()A.表t内容不变B.表t内容清空C.表t新增数据D.报错答案B关于Hive的动态分区,正确的是()A.必须指定分区值B.分区值可动态生成C.性能比静态分区好D.仅支持单级分区答案BHive中,row_number函数的作用是()A.统计行数B.对数据分组排序并标记序号C.计算总和D.去重答案B以下哪种方式不能解决Hive数据倾斜()A.预处理key(如空key填充)B.增加reduce任务数C.使用`distinct`替代`group by`D.避免`countdistinct`答案C第4页共11页Hive中,describe formattedt的作用是()A.查看表基本结构B.查看表详细信息(包括存储格式、分区等)C.查看表数据D.创建表答案B关于Hive的分区分桶,正确的是()A.分区是哈希划分,分桶是范围划分B.分区是范围划分,分桶是哈希划分C.分区和分桶无区别D.分桶可提高查询效率,分区不可答案BHive中,explain extended的输出不包含()A.执行计划B.物理执行计划C.数据存储路径D.表结构答案D以下哪种文件格式不支持压缩()A.TextFile B.ORC C.Parquet D.RCFile答案AHive中,union与union all的区别是()A.`union`去重,`union all`保留重复B.`union`保留重复,`union all`去重C.性能不同D.无区别答案A
三、多项选择题(共20题,每题2分)Hive的优势包括()A.基于HDFS存储B.支持类SQL查询C.适合海量数据处理D.实时性高答案ABC第5页共11页以下属于Hive存储格式的有()A.ORC B.CSV C.Avro D.JSON答案ACHive中,会导致任务失败的操作有()A.数据倾斜B.表不存在C.权限不足D.字段类型不匹配答案ABCDHive查询优化的常用方法有()A.谓词下推B.分桶表JOIN C.使用压缩D.避免select*答案ABCD关于Hive的分区表,以下描述正确的有()A.分区字段可多个B.分区是表的子目录C.查询时必须指定分区D.分区可动态创建答案ABDHive Metastore的三种服务模式是()A.本地模式B.远程模式C.嵌入模式D.分布式模式答案ABCHive中,countdistinct a,b的特点有()A.可统计多列去重B.性能较差C.支持单列去重D.与countdistinct a无区别答案ABC以下属于Hive内置聚合函数的有()A.sum B.avg C.max D.substring答案ABC可能导致Hive数据倾斜的场景有()第6页共11页A.空key值过多B.大key值重复C.小表JOIN大表D.动态分区插入答案ABDHive支持的事务特性包括()A.`ACID`属性B.行级锁C.全表事务D.部分场景下的事务支持答案ADHive中,order by的特点有()A.全局排序B.单reduce任务执行C.性能高D.支持`limit`答案ABD关于Hive的UDF、UDAF、UDTF,正确的有()A.UDF输入单行输出单行B.UDAF输入多行输出单行C.UDTF输入单行输出多行D.三者都必须继承Hive相关类答案ABCDHive中,以下哪些操作会修改元数据()A.`create table`B.`alter table`C.`drop table`D.`insert data`答案ABCHive数据压缩算法的特点有()A.Snappy压缩速度快B.Gzip压缩率高C.LZO支持分割D.BZip2压缩率低答案ABCHive与Spark的关系是()A.Spark可作为Hive的执行引擎B.Hive基于Spark开发C.Spark可读取Hive表数据D.两者无关联第7页共11页答案ACHive中,explain命令的输出包含()A.逻辑执行计划B.物理执行计划C.数据流向D.任务耗时答案ABC以下属于Hive表类型的有()A.内部表B.外部表C.视图D.分区表答案ABCHive中,动态分区的配置参数包括()A.`hive.exec.dynamic.partition`B.`hive.exec.dynamic.partition.mode`C.`hive.exec.max.dynamic.partitions.pernode`D.`hive.exec.max.dynamic.partitions`答案ABCD关于Hive的分桶,正确的描述有()A.按字段哈希分桶B.分桶表可提高JOIN效率C.分桶字段必须是字符串D.分桶表不支持分区答案ABHive查询失败的可能原因有()A.表名拼写错误B.字段不存在C.数据格式错误D.权限不足答案ABCD
四、判断题(共20题,每题1分)Hive支持事务表,且完全兼容传统数据库的事务特性()答案×(仅支持部分事务特性,如ACID属性在特定场景下支持)Hive的order by是全局排序,且只能在单个reducer中执行()答案√第8页共11页Hive的外部表删除时,只会删除元数据,不会删除HDFS上的数据()答案√Hive中,count1比count*执行效率更高()答案×(两者性能无显著差异,语义相同)Hive的分桶表和分区表都可以提高查询效率()答案√Hive支持ORC格式,但不支持Parquet格式()答案×(支持多种格式,包括Parquet)Hive的数据倾斜问题仅在group by时出现()答案×(JOIN、order by等场景也可能出现)Hive的UDF函数必须有输入和输出参数()答案×(UDF输入输出参数根据需求定义)Hive的谓词下推会将查询条件下推到Map阶段执行()答案√Hive的distribute by与order by结合可实现全局排序()答案×(`distribute by`需配合`sort by`使用)Hive的视图是物理表,存储实际数据()答案×(视图是逻辑表,不存储数据)Hive中,insert overwritetable会覆盖表中所有数据()答案√Hive支持like、rlike等模糊查询语法()答案√Hive的Metastore必须使用MySQL作为存储数据库()答案×(支持Derby、MySQL等多种数据库)第9页共11页Hive的explain命令可用于优化查询性能()答案√Hive的动态分区默认是开启的()答案×(需手动开启`hive.exec.dynamic.partition=true`)Hive的sort by是局部排序,不影响全局数据顺序()答案√Hive的ORC格式比TextFile格式更节省存储空间()答案√Hive的countdistinct在数据量大时性能较差()答案√Hive的分桶表必须指定分桶字段()答案√
五、简答题(共2题,每题5分)简述Hive中的数据倾斜问题及解决方法数据倾斜指某一key对应大量数据,导致单个reducer任务运行缓慢或OOM解决方法预处理key(如空key填充特殊值)、增加reduce数量、避免countdistinct、使用动态分区优化、小表JOIN大表时交换表顺序说明Hive中的分桶表及其作用分桶表通过对分桶字段哈希值取模,将数据分为多个桶文件存储作用提高查询效率(如加速JOIN)、便于数据抽样、优化数据分布与分区表区别分区是范围划分,分桶是哈希划分
六、参考答案第10页共11页(详见各题型题目后的答案标注,此处省略重复)注本文档题目及答案基于Hive
2.x版本整理,部分细节可能因版本差异略有不同,实际面试中需结合具体场景调整第11页共11页。
个人认证
优秀文档
获得点赞 0