第一章 数据仓库的简介
一、填空题
1.数据仓库的目的是构建面向 分析 的集成化数据环境。
2.Hive是基于 Hadoop 的一个数据仓库工具。
3.数据仓库分为3层,即 源数据层 、 数据应用层 和数据仓库层。
4.数据仓库层可以细分为 明细层 、 中间层 和业务层。
5.在数据仓库建立中,一样平常会围绕着 星状模子 和雪花状模子来计划数据模子。
二、判断题
1.数据仓库是以业务流程来分别应用程序和数据库。 ( 错 )
2.数据仓库中的数据一样平常是很少更新的。 ( 对 )
3.数据仓库模子中星状模子和雪花状模子都属于维度建模。 ( 对 )
4.Hive可以将非布局化的数据文件映射为一张数据表。 ( 错 )
5.从Hive 0.14开始支持事务。 ( 对 )
三、选择题
1.下列选项中,属于数据仓库特点的是( C )。
A.面向对象的
B.时效的
C.数据集成的
D.面向数据的
2.下列选项中,不属于数据Hive架构构成部分的是?( D )
A.Compiler
B.Optimizer
C.Thrift Server
D.HiveServer2
3.下列选项中,对于Hive工作原理说法错误的是( A )。
A.Driver向MetaStore获取需要的元数据信息
B.Driver向Compiler发送获取计划的哀求
C.Driver向execution engine提交实行计划
D.execution engine负责与HDFS与MapReduce的通信
4.下列选项中,不属于Hive支持的集合数据类型是( C )。
A.ARRAY
B.MAP
C.LIST
D.STRUCT
四、简答题
1.简述数据仓库分层的源数据层、数据仓库层和数据应用层的实行流程。
首先,源数据层收罗并存储的数据来源于差别的数据源,然后,通过ETL(抽取-转换-加载)的方式将清洗和转换后的数据装载到数据仓库层,终极,数据应用层根据现实业务需求从数据仓库层中获取数据实现报表展示、数据分析或数据挖掘等操纵。
第二章 Hive数据仓库应用
一、填空题
1.克隆虚拟机时,与原始虚拟机不共享任何资源的克隆方式是 完整克隆 。
2.网卡设置为静态路由协议后,需要添加参数DNS1、 IPADDR 、 NETMASK 和 GATEWAY 。
3.密钥文件id_rsa和 id_rsa.pub分别是 私钥 文件和 公钥 文件。
4.Centos7初始化体系环境的下令是 ifcfg-ens33 。
5.规划Zookeeper集群中服务器数量的公式为 2n+1 。
二、判断题
1.Zookeeper集群可以存在多个Follower和Leader。 ( 错 )
2.2888表示Leader推举过程中的投票通信端口。 ( 错 )
3.Hadoop的高可用集群需要两个NameNode和两个ResourceManager。 ( 对 )
4.在嵌入模式下运行Hive时,会在当前目次下生成元数据文件。 ( 对 )
5.在启动HiveServer2服务的同时也会默认启动Metastore服务。 ( 对 )
三、选择题
1.下列选项中,精确启动Zookeeper服务的下令是( C )。
A.start zkServer.sh
B.start zookeeper
C.zkServer.sh start
D.start zookeeper.sh
2.下列选项中,不属于Hadoop高可用集群历程的是?( D )
A.DFZKFailoverController
B.JournalNode
C.QuorumpeerMain
D.Master
3.下列选项中,关于部署Hive说法精确的是( B )。
A.本地模式部署的Hive不支持元数据共享
B.远程模式部署的Hive支持元数据共享
C.HiveServer2不支持多客户端连接
D.Hive客户端工具Beeline可以远程连接单独启动的Metastore服务
四、简答题
1.简述SSH服务的作用。
(1)、可以通过远程连接工具连接虚拟机,便于虚拟机的操纵。
(2)、可以实现免密登录功能,避免集群各节点间频仍访问需要输入密码,影响服务器的连续运转。
五、操纵题
1.通过修改主机名的下令将虚拟机Node_01的主机名修改为hello。
- hostnamectl set-hostname hello
复制代码 第三章 Hive的数据定义语言
一、填空题
1.操纵Hive时,默认利用的数据库是 default 。
2.若需要同时删除数据库和数据库中的表,则需要在删除数据库的语句中添加 CASCADE 。
3.分区主要是将表的整体数据根据业务需求,分别成多个子目次来存储,每个子目次对应一个 分区 。
4.索引是一种以空间换取 时间 的方式。
5.临时表只对当前会话可见,数据被存储在用户的 临时 目次,并在会话竣事时 删除 。
二、判断题
1.当删除外部表时,外部表的元数据和数据文件会一同删除。 ( 错 )
2.查看表布局信息语法中,DESCRIBE要比DESC查看的信息更加详细。 ( 错 )
3.分区表中的分区字段名称不能与分区表的列名重名。 ( 对 )
4.分桶表可以根据多列进行分桶。 ( 错 )
三、选择题
1.下列选项中,不属于Hive内置Serde的是( A )。
A.FIELD TERMINATED BY
B.COLLECTION ITEMS TERMINATED BY
C.MAP KYS TERMINATED BY
D.NULL DEFINED AS
2.下列选项中,下列关于Hive分桶表描述错误的是( BD )。
A.创建分桶表是可以不指定排序列
B.分桶表不能与分区表同时利用
C.分桶个数决定分桶表的存储目次下生成小文件的数量
D.分桶表中指定分桶的列需要与排序的列保持一致
3.下列选项中,关于视图说法错误的是( B )。
A.视图是只读的
B.视图包含数据文件
C.创建视图时无法指定列的数据类型
D.视图是通过查询语句创建的
四、简答题
1.简述索引怎样避免扫描全表数据。
在涉及索引列的查询时,首先会去索引表中查找索引列的值在HDFS对应的数据文件路径以及索引列的值在数据文件中的偏移量,通过这两个值去扫描全表的部分数据,从而避免全表扫描。
五、操纵题
1.在数据库hive_database中创建外部表external_test,关于外部表external_ test的布局要求如下:
(1)要求数据文件存储位置为/test/hive/external_ test
(2)外部表external_ test包含5列,这5列的数据类型分别是STRING、INT、FLOAT、ARRAY和MAP,并自定义列名。
(3)指定数据类型为ARRAY的列中元素的数据类型为STRING。
(4)指定数据类型为MAP的列中每个键值对KEY:VALUE的数据类型为STRING:INT。
- CREATE TABLE IF NOT EXISTS
- hive_database.external_test(
- col1 INT,
- col2 STRING,
- col3 FLOAT,
- col4 ARRAY<STRING>,
- col5 MAP<STRING, INT>
- )
- ROW FORMAT DELIMITED
- FIELDS TERMINATED BY ':'
- COLLECTION ITEMS TERMINATED BY ','
- MAP KEYS TERMINATED BY '-'
- STORED AS textfile
- LOCATION '/test/hive/external_test';
复制代码 2.在数据库hive_database中创建与外部表external_test表布局一致的分区表partitioned_test,指定文件存储位置为/test/hive/partitioned_ test,在分区表中创建两个分区字段,自定义分区字段的名称和数据类型。
- CREATE TABLE IF NOT EXISTS
- hive_database.partitioned_test(
- col1 INT,
- col2 STRING,
- col3 FLOAT,
- col4 ARRAY<STRING>,
- col5 MAP<STRING, INT>
- )
- PARTITIONED BY (
- col6 STRING,
- col7 STRING
- )
- ROW FORMAT DELIMITED
- FIELDS TERMINATED BY ':'
- COLLECTION ITEMS TERMINATED BY ','
- MAP KEYS TERMINATED BY '-'
- STORED AS textfile
- LOCATION '/test/hive/partitioned_test';
复制代码 第四章 Hive数据操纵语言
一、填空题
1.加载文件是将文件中的 布局化 数据加载到指定的Hive数据表中。
2.在Hive中可以通过 静态分区 、动态分区和肴杂分区的方式向分区表中加载数据。
3.查询插入可分为 单表插入 、多表插入和本地插入。
4.IMPORT和EXPORT分别代表 导入 和 导出 。
5.在利用Hive动态分区前,需要修改Hive的配置参数hive.exec.dynamic.partition.mode为 nonstrict 。
二、判断题
1.Hive中加载文件只能加载HDFS文件体系中的文件。 ( 错 )
2.LOCATION子句可以将数据文件中的数据加载到数据表。 ( 错 )
3.本地插入是将本地体系文件中的数据插入到数据表。 ( 错 )
4.多表插入是将多个表的查询效果插入到多张表。 ( 对 )
5. 保证插入数据表列的数量与查询数据表列的数量一致。 ( 对 )
三、选择题
1.下列选项中,关于插入数据的语句书写精确的是( A )。
A.INSERT INTO TABLE table1 VALUES (11);
B.INSERT INTO TABLE table2 VALUES (user01);
C.INSERT INTO TABLE table3 VALUES (11,20)(22,30);
D.INSERT INTO TABLE table3 VALUES (user01),(user02);
2.下列选项中,关于查询数据的语句书写精确的是( B )。
A.SELECT username city FROM table1;
B.SELECT * FROM table1;
C.SELECT username FROM table1 WHERE province;
D.SELECT username FROM table1 WHERE province=ShanDong;
四、简答题
1.简述通过LOAD DATA语句向指定数据表加载数据文件时的注意事项。
文件分隔符需要与数据表的字段分隔符保持一致。
文件换行符需要与数据表的行分隔符保持一致。
文件中的集合数据与数据表的集合元素分隔符保持一致。
文件中的键值对数据与创建数据表时指定键值对的分隔符保持一致。
文件中每个字段的次序需要与数据表中字段的次序保持一致
文件的字段数量需要与数据表的字段数量保持一致。
2. 简述动态分区与肴杂分区的区别。
动态分区加载数据时只需要指定分区字段即可,肴杂分区加载数据时必须指定一个分区包含分区字段和分区字段值,别的分区可以直接利用分区字段即可。
五、操纵题
1. 将本地文件体系目次/export/data/hive_data中的文件test.txt加载到分区表partitioned_table的二级分区province=ShanDong/city=HeZe。
- LOAD DATA LOCAL INPATH '/export/data/hive_data/test.txt' INTO TABLE partitioned_table PARTITION (province='ShanDong', city='HeZe');
复制代码 第五章 Hive数据查询语言
一、填空题
1.SELECT句式中分组操纵的子句是 GROUP BY。
2.复杂运算符S.x 支持的数据类型是 STRUCT 。
3.公用表表达式是一个临时 效果集 。
4. UNION 语句用于将多个SELECT句式的效果合并为一个效果集。
5.抽样查询分为数据块抽样、 随机抽样 和 分桶抽样 。
二、判断题
1.LIMIT子句用于限制查询表的行数据。 ( 对)
2.DISTINCT子句可以对查询效果进行去重。 ( 对 )
3.关系运算符RLIKE支持所有基本数据类型。 ( 错 )
4.分组操纵会发出MapReduce使命进行处理。 ( 对 )
5.JOIN语句中LEFT OUTER JOIN和LEFT JOIN所表达的意思相同。 ( 对)
三、选择题
1.下列选项中,不属于关系运算符的是( B)。
A.!=
B.!
C.NOT LIKE
D.LIKE
2.下列选项中,关于分组操纵的描述精确的是( D)。
A.空值不会进行分组处理
B.GROUP BY子句实行次序在SELECT语句之后
C.利用GROUP BY子句时,在SELECT语句中只能出现聚合函数不能出现列
D.GROUP BY子句中的列需要与SELECT语句中的列保持一致
四、简答题
1.扼要描述左外连接、右外连接、全外连接和内连接的关联方式。
内连接:根据关联列将左表和右表中能关联起来的数据连接后返回,返回的效果就是两个表中所有相匹配的数据。
左外连接:根据关联列保存左表完全值,若右表中存在与左表中匹配的值,则保存;若右表中不存在与左表中匹配的值,则以NULL代替。
右外连接:根据关联列保存右表完全值,若左表中存在与右表中匹配的值,则保存;若左表中不存在与右表中匹配的值,则以NULL代替;
全外连接:根据关联列返回左表和右表中的所有数据,若关联不上则以NULL代替。
2. 简述SORT BY子句和ORDER BY子句的区别。
ORDER BY用来对查询效果做全局排序,查询的效果集只会交由一个Reducer处理。
SORT BY用来对查询效果做局部排序,根据MapReduce默认分别Reducer个数的规则,将查询效果集交由多个Reducer处理。
第六章 Hive函数
一、填空题
1.Hive自定义函数分为即UDF、 UDTF 和 UDAF 。
2.将指定列中的数据组合为数组,去重复数据的函数是 COLLECT_SET 。
3.编写UDTF程序时需要继承类 GenericUDTF 。
4.利用 侧视图 时可以为表生成函数指定列的别名。
二、判断题
1.UDF表示用户自定义聚合函数。 ( 错)
2.ROUND()函数返回0~1的随机值。 ( 错 )
3.CONCAT()函数按次序拼接字符串,没有分隔符。 ( 对 )
4.TRIM()函数用于拆分字符串。 ( 错 )
三、选择题
1.下列选项中,不属于字符串函数的是( D)。
A.RPAD()
B.REPEAT()
C.SUBSTR()
D.COALESCE()
2.下列选项中,属于数学函数的是(C )。
A.SUM()
B.COUNT()
C.NEGATIVE ()
D.BINARY()
四、简答题
1.简述字符串函数CONCAT()和CONCAT_WS()的区别。
CONCAT()按照次序对字符串进行拼接,没有分隔符。
CONCAT_WS()按照指定分隔符对字符串进行拼接。
2.简述字符串函数COLLECT_SET()和COLLECT_LIST()的区别。
COLLECT_SET()将指定列中的数据组合为数组,去重复数据。
COLLECT_LIST()将指定列中的数据组合为数组,不去重复数据。
五、操纵题
1. 创建UDF程序实现比力两列数值是否相等,若比力的两列数值不相等,则输出两列数值中较小的值,以及两列数值相加的计算效果。
- public class hiveUDF extends UDF {
- public String evaluate(int col1,float col2){
- if (col1>col2){
- return "min:"+col2+",diffe:"+(col1+col2);
- }else if(col1<col2){
- return "min:"+col1+",diffe:"+(col2+col1);
- }else {
- return "0";
- }
- }
- }
复制代码 第七章 Hive事务
一、填空题
1.Hive事务表中的数据会被分成两种类型的文件,即基础文件和 增量文件 。
2.开启Hive事务时必须指定Compactor的工作线程数大于等于 1 。
3.Hive事务表的文件存储格式必须为 ORC 。
4.Hive通过HiveServer2中运行的一组背景历程 compacter 实现事务的支持。
二、判断题
1.Hive默认开启事务的支持。 ( 错)
2.更新Hive事务表数据操纵的列必须在事务表中已存在。 ( 对)
3.删除Hive事务表数据操纵时,若不指定条件,则无法实行。 ( 错)
三、选择题
1.下列选项中,不属于事务四大特性的是(D )。
A.原子性
B.隔离性
C.长期性
D.容忍性
四、简答题
1.简述基础文件和增量文件的作用。
基础文件用于存放Hive事务表中的原始数据;增量文件用于存储Hive事务表存储的新增、更新和删除的数据
五、操纵题
1. 将事务表tran_clustered_table中员工姓名为user03的员工id更新为010,并且年龄更新为33。
- UPDATE hive_database.tran_clustered_table
- SET age = 33,id="010"
- WHERE name = "user03";
复制代码 第八章 Hive优化
一、填空题
1.文件存储格式ORCFile的利用方式是 行列存储 。
2.Hive默认的文件存储格式是 TextFile 。
3.ORCFile自身支持两种压缩,分别是 ZLIB 和 SNAPPY 。
4.参数hive.exec.parallel用于配置 并行实行 。
二、判断题
1.笛卡儿积JOIN只能利用一个Reduce处理。 ( 对)
2.ORCFile文件存储格式可以通过LOAD语句加载数据。 ( 错)
3.参数mapred.map.tasks主要用于淘汰Map个数。 ( 错)
三、选择题
1.下列选项中,用于配置MapReduce压缩的参数是(B )。
A.mapreduce.map.input.compress
B.hive.exec.compress.intermediate
C.mapreduce.fileoutputformat.compress.codec
D.mapreduce.output.fileoutputformat.type
四、简答题
1.简述配置合并文件的作用。
每个数据文件都会交给一个Map去处理,如果存在多个小数据文件,那么会每个小数据文件都会启动一个Map,造成不必要的资源浪费,因此在Map实行之前应该将这些小数据文件进行合并
五、操纵题
1. 创建外部表test,自定义表的列,要求表的文件存储格式为ORCFile,并指定表的压缩格式为ZLIB。
- CREATE TABLE test(
- col1 STRING,
- col2 STRING,
- col3 STRING
- )
- ROW FORMAT DELIMITED
- FIELDS TERMINATED BY ','
- LINES TERMINATED BY '\n'
- STORED AS ORC
- TBLPROPERTIES ("orc.compress"="ZLIB");
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |