- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Hive笔试题及答案
一、选择题(每题5分,共25分)
下列关于Hive元数据存储的说法,正确的是()
A.Hive元数据默认存储在HDFS中
B.Hive元数据通常存储在关系型数据库中(如MySQL)
C.Hive元数据与业务数据存储在同一位置
D.Hive不需要元数据存储
答案:B
解析:Hive的元数据用于记录表结构、分区信息、数据存储路径等,默认不会存储在HDFS(A错误),通常依赖关系型数据库(如MySQL、Derby)存储(B正确);元数据和业务数据分开存储,业务数据存HDFS,元数据存关系库(C错误);Hive必须依赖元数据才能正常解析数据结构,所以需要元数据存储(D错误)。
Hive中哪种数据类型适合存储“2025-09-2214:30:00”这样的时间数据()
A.INT
B.STRING
C.TIMESTAMP
D.DATE
答案:C
解析:INT适用于整数(A错误);STRING可存储字符串形式的时间,但无法直接进行时间运算(B错误);TIMESTAMP支持存储年月日时分秒的时间格式,且支持时间相关函数运算(C正确);DATE仅能存储年月日,无法存储时分秒(D错误)。
关于Hive分区表,下列说法错误的是()
A.分区表可以提高查询效率,减少扫描数据量
B.分区字段需要在表结构中定义
C.动态分区插入时,不需要指定分区字段的值
D.分区表的分区字段实际会存储在数据文件中
答案:D
解析:分区表通过将数据按分区字段拆分存储,查询时仅扫描指定分区数据,提高效率(A正确);创建分区表时需明确定义分区字段(如PARTITIONEDBY(dtSTRING))(B正确);动态分区会根据数据自动推断分区字段值,无需手动指定(C正确);分区字段仅作为目录层级存在,不会存储在实际数据文件中(D错误)。
HiveSQL中,下列哪个关键字用于指定分组后的过滤条件()
A.WHERE
B.HAVING
C.GROUPBY
D.ORDERBY
答案:B
解析:WHERE用于分组前过滤原始数据(A错误);HAVING用于对GROUPBY分组后的结果进行过滤(B正确);GROUPBY用于指定分组字段(C错误);ORDERBY用于对结果集排序(D错误)。
Hive分桶表的主要作用是()
A.减少数据存储量
B.提高数据加载速度
C.优化关联查询性能
D.避免数据重复
答案:C
解析:分桶表不会减少数据存储量(A错误);数据加载速度与分桶无直接关联(B错误);分桶将数据按分桶字段哈希分桶,关联查询时可基于分桶字段直接匹配对应分桶数据,避免全量关联,优化性能(C正确);分桶无法避免数据重复(D错误)。
二、判断题(每题5分,共25分,对的打√,错的打×)
Hive是一个关系型数据库,可以直接处理实时数据。()
答案:×
解析:Hive不是关系型数据库,而是基于Hadoop的数据仓库工具,主要用于离线批处理数据,不支持实时数据处理。
Hive分区表的分区字段可以是表中已存在的业务字段。()
答案:×
解析:Hive分区字段是虚拟字段,仅用于数据分区目录的划分,不会包含在表的业务字段中,不能使用表中已有的业务字段作为分区字段。
Hive分桶表必须基于分区表创建,不能单独创建分桶表。()
答案:×
解析:Hive分桶表可独立创建,无需依赖分区表,只需在创建表时通过CLUSTEREDBY指定分桶字段即可。
Hive中的UDF(用户自定义函数)可以接收多个输入参数,返回一个输出结果。()
答案:√
解析:HiveUDF支持多输入参数,如自定义函数计算两个字段的和,接收两个输入参数,返回一个结果,符合UDF的特性。
Hive中ORC、Parquet格式的文件相比Text格式,压缩率更高,查询效率更快。()
答案:√
解析:ORC和Parquet是列存格式,相比行存的Text格式,能更高效地压缩数据(压缩率更高),且查询时仅读取所需列数据,减少IO,提高查询效率。
三、简答题(每题10分,共30分)
简述Hive分区表和分桶表的区别,以及各自的适用场景。
答案:
区别:
划分依据:分区表按分区字段(如日期dt)划分目录,数据按目录存储;分桶表按分桶字段哈希值划分桶,数据按桶存储在文件中。
数据分布:分区表的分区数量由业务场景决定(如按天分区则每天一个分区),分区内数据量可能不均匀;分桶表的桶数量固定(创建表时指定),数据按哈希均匀分布在各桶。
存储形式:分区表以目录
文档评论(0)