版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HQL综合考试题(含详细答案解析)考试说明:1.本试卷满分100分,考试时长90分钟;2.题型包含选择题、填空题、简答题、实操编程题,侧重HiveSQL实战能力;3.所有题目适配企业数仓日常开发场景,兼容Hive2.x/3.x主流版本。一、单项选择题(共10题,每题3分,共30分)1.以下关于HQL特点的说法,错误的是()A.HQL是结构化查询语言,用于操作Hive数据仓库B.HQL执行后会自动转换为MapReduce、Spark等计算任务C.HQL支持标准SQL大部分语法,上手成本低D.HQL可以直接操作本地文件,无需依托HDFS2.Hive中分区表的核心作用是()A.提升数据存储容量B.缩小查询扫描范围,提升查询效率C.简化建表语句D.保证数据唯一性3.以下哪个关键字可以实现Hive结果集去重()A.DISTINCTB.UNIQUEC.GROUPBYD.FILTER4.Hive中ORDERBY和SORTBY的核心区别是()A.无区别,功能完全一致B.ORDERBY是全局排序,SORTBY是分区内排序C.SORTBY是全局排序,ORDERBY是分区内排序D.ORDERBY仅支持数值排序5.以下HQL函数中,属于聚合函数的是()A.substr()B.count()C.date_format()D.if()6.Hive外部表和内部表(管理表)的核心差异是()A.字段类型不同B.删除表时,外部表仅删除元数据,数据文件保留C.外部表不支持分区D.内部表查询速度更快7.实现Hive多行转单列拼接,应使用哪个函数()A.split()B.collect_list()C.concat()D.explode()8.以下语句中,能够正确过滤NULL值的是()A.wherecol=nullB.wherecolisnullC.wherecol!=nullD.wherecolnotnull9.HQL中LIMIT子句的作用是()A.限制查询返回的行数B.限制表的最大数据量C.限制任务执行资源D.限制分区数量10.关于Hive动态分区,以下说法正确的是()A.动态分区无需指定分区字段B.动态分区可以根据数据自动生成分区目录C.动态分区不支持批量插入数据D.动态分区查询效率高于静态分区二、填空题(共5题,每题2分,共10分)1.Hive中__________函数可以实现单列字符串分割,将一行数据拆分为多行。2.HQL中分组统计必须满足:select字段要么是分组字段,要么是__________。3.Hive中用于匹配模糊查询的关键字是__________,通常搭配%、_通配符使用。4.实现Hive两张表左连接的关键字是__________,会保留左表所有数据。5.Hive中查看表结构的命令是__________。三、简答题(共4题,每题5分,共20分)1.简述Hive中WHERE、GROUPBY、HAVING、ORDERBY的执行顺序。2.简述Hive分区和分桶的区别,以及各自适用场景。3.简述INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLJOIN的区别。4.HQL查询中出现数据倾斜的常见原因有哪些?写出2种常用解决方案。四、实操编程题(共3题,共40分)场景数据表:用户行为表user_behavior(分区表,分区字段dt,日期格式yyyy-MM-dd)字段:user_id(用户ID)、goods_id(商品ID)、behavior(行为类型:click点击、buy购买、collect收藏)、dt(日期分区)用户表user_info字段:user_id(用户ID)、user_name(用户名)、age(年龄)、gender(性别)1.基础查询(10分)查询2026-08-01当日,所有产生过购买行为的去重用户总数。2.分组统计(15分)统计2026-08-01当日,各行为类型(click/buy/collect)的用户数、行为总次数,结果按行为次数降序排序。3.关联查询+条件筛选(15分)查询2026-08-01有购买行为的用户,展示用户ID、用户名、年龄、性别,过滤出年龄18-35岁的用户,结果去重。参考答案及详细解析一、单项选择题答案及解析1.答案:D解析:Hive是基于Hadoop的数据仓库工具,所有数据均依托HDFS存储,无法直接操作本地文件,其余选项均为HQL基础特性。2.答案:B解析:分区表的核心原理是按指定字段拆分数据目录,查询时仅扫描对应分区数据,极大减少IO开销,提升查询效率,不影响存储容量、数据唯一性。3.答案:A解析:DISTINCT用于结果集全局去重;Hive不支持UNIQUE关键字;GROUPBY是分组统计,需配合聚合函数实现去重效果;FILTER为过滤函数,无去重功能。4.答案:B解析:ORDERBY是全局排序,最终所有数据会统一有序;SORTBY仅在每个Reducer分区内排序,全局无序,适合大数据量排序减少任务压力。5.答案:B解析:count()、sum()、avg()等为聚合函数,用于分组统计;substr、date_format、if均为单行普通函数。6.答案:B解析:内部表删除时,元数据和HDFS数据文件会一并删除;外部表仅删除元数据,原始数据保留,安全性更高,企业开发中优先使用外部表。7.答案:B解析:collect_list()/collect_set()可实现多行数据合并为数组(多行转单列);split是单列分割数组,explode是数组炸裂(单列转多行),concat是字符串拼接。8.答案:B解析:Hive中NULL值无法使用=、!=判断,必须使用isnull/isnotnull进行过滤,这是SQL通用规范。9.答案:A解析:LIMIT用于限制查询结果返回的最大行数,常用于抽样查询,不影响表数据、资源和分区配置。10.答案:B解析:动态分区无需手动指定每个分区值,可根据插入数据的字段值自动创建分区目录;动态分区需要指定分区字段,查询效率略低于静态分区,支持批量数据插入。二、填空题答案及解析1.答案:explode解析:explode为炸裂函数,专门用于将array、map类型的单列数据拆分为多行数据,是Hive行转列核心函数。2.答案:聚合函数解析:GROUPBY分组查询语法规范:SELECT后的字段,必须是GROUPBY的分组字段,或sum、count、max等聚合函数字段,否则会报错。3.答案:LIKE解析:LIKE用于模糊匹配,%代表任意多个字符,_代表单个任意字符,是HQL常规模糊查询语法。4.答案:LEFTJOIN解析:LEFTJOIN(左连接)保留左表全部数据,右表无匹配数据时显示NULL。5.答案:desc表名/describe表名解析:desc为简写命令,可快速查看表字段、类型、分区信息;完整命令为describe,功能一致。三、简答题答案及解析1.执行顺序:WHERE→GROUPBY→HAVING→ORDERBY解析:首先通过WHERE过滤原始数据,再根据字段分组,HAVING过滤分组后的聚合结果,最后通过ORDERBY对最终结果排序。核心区别:WHERE过滤原始行数据,HAVING过滤分组聚合数据。2.分区与分桶的区别及场景(1)区别:分区是对文件夹层级拆分,基于指定维度划分数据目录;分桶是对文件层级拆分,基于哈希规则将数据打散到固定数量文件中。分区字段为伪列,分桶字段为表真实字段。(2)适用场景:分区适合按时间、地区等大维度数据拆分,用于缩小查询扫描范围;分桶适合数据抽样、大表精准join、提升查询聚合效率。3.四类连接区别(1)INNERJOIN(内连接):仅返回两张表中匹配成功的数据,无匹配则不展示;(2)LEFTJOIN(左连接):保留左表所有数据,右表匹配不到则补NULL;(3)RIGHTJOIN(右连接):保留右表所有数据,左表匹配不到则补NULL;(4)FULLJOIN(全连接):保留左右两张表所有数据,无匹配字段补NULL。4.数据倾斜原因及解决方案常见原因:key值分布不均、存在大量NULL/空值key、热点key(单一key数据量极大)、大表join小表未优化。常用解决方案:(1)对NULL/空值key进行随机打散,避免集中到一个Reducer;(2)大表join小表时,使用mapjoin将小表加载到内存,避免shuffle阶段倾斜;(3)对热点key单独处理,拆分热点数据单独计算后合并结果。四、实操编程题答案(可直接运行)1.基础查询题答案sql
--查询2026-08-01购买行为的去重用户总数
SELECTCOUNT(DISTINCTuser_id)ASbuy_user_total
FROMuser_behavior
WHEREdt='2026-08-01'
ANDbehavior='buy';2.分组统计题答案sql
--统计当日各行为的用户数、行为总次数,按次数降序
SELECT
behavior,
COUNT(DISTINCTuser_id)ASuser_num,--去重用户数
COUNT(*)ASbehavior_total--行为总次数
FROMuser_behavior
WHEREdt='2026-08-01'
GROUPBYbehavior
ORDERBYbehavior_totalDESC;3.关联查询筛选题答案sql
--关联用户表,筛选18-35岁有购买行为的用户,结果去重
SELECTDISTINCT
ub.user_id,
ui.user_name,
ui.age,
ui.gender
FROMuser_behaviorub
LEFTJOI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年绩溪县教师招聘笔试备考题库及答案解析
- 2026下半年合肥市创业投资引导基金有限公司社会招聘2名考试参考题库及答案解析
- 2026年海南省儋州市事业单位人员招聘笔试备考题库及答案详解
- 2026年锌锰电池制造行业市场运营态势报告及未来五至十年平台化与生态化发展
- 三年级数学下册混合运算解决问题课件
- 2027年江西电缆有限责任公司校园招聘2人考试模拟试题及答案解析
- 2026年罗山县教师招聘笔试备考题库及答案解析
- 《电阻的测量》课件
- 2026厦门市集美区灌口中心幼儿园招聘非在编保育员1人笔试备考试题及答案解析
- 2026年皮鞋制造行业市场供需分析报告及未来五至十年数据驱动与价值化路径
- 小学语文新部编版六年级上册全册教案(2026秋新版)
- 满70岁以上换领驾照三力测试题及答案
- 2026年国家公务员考试(国考)行测+申论真题及标准答案(完整版)
- 八年级上册道德与法治第二单元《维护社会秩序》整体教学设计
- 2026年蜜雪冰城加盟考试题及答案
- 产品外观标准检验指导书
- 智联猎头:2026年企业薪酬调研报告
- 场景美术创作技法
- 10KV高压电缆敷设专项施工方案
- 2025年军事理论与国防教育考试题及答案
- 公司门房日常管理制度
评论
0/150
提交评论