版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年hivesql测试题及答案
一、单项选择题(10题,每题2分)1.以下哪种Hive数据类型属于复杂类型?A.INTB.STRINGC.ARRAYD.DOUBLE2.Hive中创建分区表时,PARTITIONEDBY子句应放在哪个位置?A.CREATETABLE语句开头B.列定义之后C.AS子句之后D.表属性之前3.以下哪个窗口函数用于计算当前行及之前所有行的累计值?A.SUM()OVER()B.SUM()OVER(ORDERBY...ROWSBETWEENUNBOUNDEDPRECEDINGANDCURRENTROW)C.AVG()OVER()D.RANK()OVER()4.Hive中自定义UDF需要继承的类是?A.org.apache.hadoop.hive.ql.exec.UDFB.org.apache.hadoop.hive.ql.exec.UDAFC.org.apache.hadoop.hive.ql.exec.UDTFD.org.apache.hadoop.hive.ql.exec.GenericUDF5.以下关于CTE(公共表表达式)的描述,正确的是?A.只能在子查询中使用B.可以被多次引用C.必须定义在FROM子句之后D.不支持嵌套6.Hive中分桶表的创建需要满足的条件是?A.必须指定CLUSTEREDBY子句B.必须设置mapreduce.job.reduces参数C.必须使用ORC格式D.必须基于分区表创建7.以下哪种Hive视图允许更新底层数据?A.普通视图B.物化视图C.临时视图D.索引视图8.以下哪个Hive参数用于开启动态分区?A.hive.exec.dynamic.partitionB.hive.exec.dynamic.partition.modeC.hive.exec.max.dynamic.partitionsD.hive.exec.max.dynamic.partitions.pernode9.Hive中临时表的生命周期是?A.会话结束后自动删除B.集群重启后删除C.手动删除才会删除D.存储在HDFS永久保存10.以下关于Hive事务表的描述,正确的是?A.支持所有DML操作B.必须使用ORC格式C.只能在MapReduce引擎下使用D.不支持分区表二、填空题(10题,每题2分)1.Hive中创建分桶表时,需要使用________子句指定分桶的列。2.窗口函数中,________子句用于指定分组,________子句用于指定排序。3.自定义UDAF需要实现的核心方法是________(输入类型、输出类型)。4.CTE的定义关键字是________,定义后可在后续查询中直接引用。5.Hive中物化视图的关键字是________,用于存储查询结果的物理数据。6.动态分区模式分为strict和________两种,strict模式下至少指定一个静态分区。7.Hive元数据默认存储在________数据库中。8.窗口函数中,ROWSBETWEENUNBOUNDEDPRECEDINGAND________表示当前行及之后所有行。9.Hive中支持的压缩格式包括Snappy、________、Gzip等。10.临时视图的关键字是________,生命周期仅在当前会话内。三、判断题(10题,每题2分)1.Hive分区表可以同时包含静态分区和动态分区。()2.分桶表必须设置mapreduce.job.reduces参数等于分桶数。()3.UDAF(用户定义聚合函数)只能接收一个输入参数。()4.CTE可以嵌套定义,即一个CTE中可以引用另一个CTE。()5.Hive普通视图存储实际的数据,物化视图不存储。()6.Hive3.x版本支持事务表,可实现ACID操作。()7.临时表跨不同Hive会话可见。()8.窗口函数中,ORDERBY子句是可选的,没有时按默认顺序计算。()9.ORC格式的Hive表支持内置索引,可提高查询性能。()10.动态分区不需要设置任何参数即可直接使用。()四、简答题(4题,每题5分)1.请简述Hive动态分区与静态分区的区别,并说明各自的适用场景。2.请说明Hive窗口函数的核心作用,列举至少3个常用窗口函数并说明其用途。3.请对比Hive中UDF、UDAF、UDTF的区别,分别说明其适用场景。4.请列举至少3种Hive查询性能优化的常用策略,并简要说明每种策略的原理。五、讨论题(4题,每题5分)1.结合业务场景,谈谈如何设计Hive分区表以最大化查询性能?请说明分区维度选择的原则。2.请举例说明窗口函数在HiveSQL中的典型应用场景(如TopN、累计统计等),并简要说明实现逻辑。3.请分析Hive与SparkSQL集成的优势,以及集成过程中需要注意的关键事项。4.请说明Hive中常见的数据倾斜类型(如Key倾斜、数据量倾斜),并针对每种类型给出至少一种解决策略。答案与解析一、单项选择题答案1.C解析:Hive复杂类型包括ARRAY、MAP、STRUCT,基本类型为INT、STRING等。2.B解析:分区子句需放在列定义之后,语法为CREATETABLE...(列)PARTITIONEDBY(分区列)...。3.B解析:选项B明确指定窗口框架为当前行及之前所有行,选项A无ORDERBY时框架不明确。4.A解析:UDF继承UDF类,UDAF继承UDAF,UDTF继承UDTF。5.B解析:CTE可多次引用,支持嵌套,定义在WITH子句(FROM之前)。6.A解析:分桶表必须用CLUSTEREDBY指定分桶列,reduce数量建议等于分桶数但非必须。7.B解析:物化视图存储实际数据,可更新底层;普通视图为逻辑视图。8.A解析:hive.exec.dynamic.partition=true开启动态分区,mode设置strict/nonstrict。9.A解析:临时表会话结束后自动删除,跨会话不可见。10.B解析:事务表必须用ORC格式,支持部分DML,可在Tez/Spark引擎使用。二、填空题答案1.CLUSTEREDBY2.PARTITIONBY;ORDERBY3.evaluate(核心聚合方法)4.WITH5.MATERIALIZEDVIEW6.nonstrict7.MySQL(默认推荐,Derby为开发用)8.UNBOUNDEDFOLLOWING9.LZO(或BZip2)10.TEMPORARYVIEW三、判断题答案1.√解析:支持混合分区,如静态dt='2024-01-01'+动态hour。2.×解析:reduce数量可调整,非必须等于分桶数。3.×解析:UDAF可接收多个输入参数,如SUM(col1,col2)。4.√解析:CTE支持嵌套,如WITHcte1AS(...)WITHcte2AS(SELECTFROMcte1)。5.×解析:普通视图不存储数据,物化视图存储。6.√解析:Hive3.x引入ACID事务表。7.×解析:临时表仅当前会话可见。8.×解析:无ORDERBY时窗口框架为所有行,结果可能不符合预期。9.√解析:ORC内置stripe/row索引,快速定位数据块。10.×解析:需设置hive.exec.dynamic.partition=true开启。四、简答题答案1.动态分区与静态分区区别:静态分区需手动指定分区值(如dt='2024-01-01'),一次插入一个分区;动态分区由数据列值自动生成,一次插入多个分区。适用场景:静态分区适用于分区值固定、数量少的场景(如按省份);动态分区适用于分区值动态变化、数量多的场景(如按日期+小时)。2.窗口函数核心作用:不改变原表结构,对窗口内数据跨行计算(聚合、排名等)。常用函数:①SUM()/AVG():窗口内总和/平均值;②RANK()/DENSE_RANK():排名(RANK跳跃,DENSE_RANK连续);③ROW_NUMBER():唯一序号;④LAG()/LEAD():取前/后N行值。3.UDF(输入一行输出一行):单条数据转换(如字符串拼接);UDAF(输入多行输出一行):分组聚合(如自定义求和);UDTF(输入一行输出多行):复杂类型拆分(如数组转多行)。4.优化策略:①分区分桶:按高频查询维度分区,分桶减少扫描;②数据压缩:Snappy等减少IO;③执行计划优化:EXPLAIN分析,小表Join在前;④引擎优化:切换Tez/Spark提高效率;⑤索引优化:ORC内置索引加速查询。五、讨论题答案1.分区设计原则:①高频查询维度优先(如电商按dt=日期);②粒度适中(避免分区过多导致元数据膨胀);③结合业务(如按店铺ID+日期)。举例:电商按dt和store_id分区,查询仅扫描对应分区,减少数据量。注意避免按秒分区等过细粒度。2.应用场景:①TopN(每个部门工资前三):SELECTdept_id,emp_name,ROW_NUMBER()OVER(PARTITIONBYdept_idORDERBYsalaryDESC)ASrankFROMempWHERErank<=3;②累计销售额(每日累计本月):SELECTdt,SUM(sale_amount)OVER(PARTITIONBYmonth(dt)ORDERBYdt)AScumulativeFROMsales。逻辑:按分组排序后计算排名/累计,无需子查询。3.集成优势:①Spark引擎效率高(内存计算、DAG调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物资保障供应质量保证承诺书(4篇)
- 工程项目管理模板及辅助软件
- 2026年药学(师)专业知识练习题及完整答案详解(夺冠系列)
- 住宅基坑支护施工方案
- 中空板生产线应急处置方案
- 塔吊拆卸事故处置方案
- 采购物品催交货通知函5篇范文
- 2026年度宴会服务分包合同书
- 岩土工程基坑开挖方案
- 项目合作ODM代工协议
- 体检健康宣教课件内容
- 2024北京门头沟区中小学教师招聘考试试题及答案
- 中国空白地图(打印)
- 《电气设备运行与维护》课件
- GB/T 3324-2024木家具通用技术条件
- CQI-9 第四版 热处理系统审核表中文完整版-
- 少先队辅导员技能大赛考试题库300题(含答案)
- 个体工商户登记(备案)申请书(个体设立表格)
- 2024年湖北高考化学试卷(真题+答案)
- JT-T-325-2018营运客运类型划分及等级评定
- 地下矿山常见安全隐患的排查和处置
评论
0/150
提交评论