1.下列关于Hive特点总结正确的选项是()
AHive支持自由的扩展集群的规模,只需要重启服务即可
BHive支持自定义函数,用户可以根据自己的需求去定义函数
CHiveSQL执行时,需要避免节点出现问题
DHive适合处理小批量数据
2.下面关于Hive查看表table1的分区的描述正确的是()
Ashowpartitionstable1;
Bdesctable1;
Cshowcreatetabletable1;
Ddroptable1
3.
下面关于Hive描述函数类型描述正确的是()
COUNT;MAX;MIN;LEAD;LAG;SPLIT;EXPLODE;UNIX_TIMESTAMP
AUDF:UNIX_TIMESTAMP;UDAF:COUNT,MAX,MIN,LEAD,LAG;UDTF:SPLIT,EXPLODE
BUDAF:COUNT,MAX,MIN,LEAD,LAG,EXPLODE
CUDF:UNIX_TIMESTAMP,COUNT,MAX,MIN;UDAF:LEAD,LAG;
DUDF:UNIX_TIMESTAMP,SPLIT;UDAF:COUNT,MAX,MIN,LEAD,LAG;UDTF:EXPLODE
4.下面关于Hive四种排序方式的区别,描述正确的是()
Aorderby是要对输出的结果进行全局排序,多个reducer可以实现全局排序
Bsortby不是全局排序,只是在进入到reducer之前完成排序
Cdistributeby指的是按照指定的字段划分到不同的输出reduce文件中,常见使用方式是orderbydistributeby
Dclusterby不仅支持正序排序,也支持逆序排序
5.下面关于Hive和传统数据库的比较描述正确的是()
AHive使用了查询语言HQL(HiveQueryLanguage),HQL与SQL没有任何关系
BHive和传统数据库除了拥有类似的查询语言,再无类似之处
CHive是建立在Hadoop之上的,所有Hive的数据都是存储在HDFS中的,而数据库则可以将数据保存在块设备或者本地文件系统中
DHive的针对数据仓库设计,针对的是读多写少的场景
6.已知数组trans_cnt[1,2,3,4],trans_cnt[2]获取的结果为()
A1
B2
C3
D4
7.Hive是为了解决哪类问题()
A海量结构化日志的数据统计
B分布式组件调度
C分布式系统监控
D分布式系统高可用
8.下面关于Hive数据倾斜问题描述正确的是()
A不需要了解业务,对业务进行数据探查无法解决数据倾斜
B每一个数据倾斜的作业都需要优化
C小文件合并不会解决数据倾斜的问题
D可以适当的通过控制mapper和reducer来控制数据倾斜的问题
9.下面关于HiveSQL的内外表使用正确的是()
A在/tmp/path创建外表:CREATEEXTERNALTABLE...LOCATION'/tmp/path';
B在/tmp/path创建外表:CREATETABLE...;
C创建内表:CREATEEXTERNALTABLE...LOCATION'/tmp/path';
D创建内表:CREATEEXTERNALTABLE...;
10.下面关于Hive数据装载描述正确的是()
A最好使用INSERT插入数据
B最好使用INSERTOVERWRITE插入数据
C可以使用LOADDATA加载
D什么场景,装载数据使用LOADDATA效率最低
11.下面关于HiveSQL的JOIN关键词正确的是()
(1)INNERNJOIN
(2)JOIN
(3)OUTERJOIN
(4)RIGHTJOIN
(5)CROSSJOIN
(6)LEFTJOIN
A(2)(4)(5)(6)
B(1)(4)(5)(6)
C(1)(4)(6)
D(3)(4)(6)
12.代码select ceil(2.34)的结果是哪一个:
A2.3
B2
C3
D2.4
答案C
13.下列哪个组件不属于Hive架构()
AMySQL
BTaskManager
CHDFS
DClient
14.下面关于HiveSQL将table2中所有的数据迁移至table1中描述正确的是(),要求一模一样
AINSERTOVERWRITETABLEtable1PARTITION(dt='{{yyyyMMdd-1d}}')SELECT*FROMtable2;
BINSERTOVERWRITETABLEtable1PARTITION(dt='{{yyyyMMdd-1d}}')SELECt*FROMtable2WHERedt='{{yyyyMMdd-1d}}';
CINSERTOVERWRITETABLEtable1SELECt*FROMtable2;
DINSERTOVERWRITETABLEtable1SELECt*FROMtable2WHERedt='{{yyyyMMdd-1d}}';
15.下面关于Hive内外表描述错误的是()
AHive内表的元数据和数据都由Hive自己管理
BHive会管理外表的元数据
C当Hive内表的元数据发生变化时,内表的改动修改不会同步给元数据
D对外部表的表结构和分区进行修改,需要修复
16.下面关于Hive内外表描述正确的是()
A建表时候如果不显示声明表的类型,则建表为外表
B外表使用DROp语句可以删除的很干净
C外表由Hive自己管理
D建表时候如果不显示声明表的类型,则建表为内表
17.下面关于HiveSQL编译顺序正确的是()
(1)遍历QueryBlock,翻译为执行操作树OperatorTree
(2)遍历OperatorTree,翻译为MapReduce任务
(3)遍历ASTTree,抽象出查询的基本组成单元QueryBlock
(4)逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量
(5)物理层优化器进行MapReduce任务的变换,生成执行计划
(6)将SQL转化为抽象语法树ASTTree
A(3)(1)(2)(4)(5)(6)
B(5)(3)(1)(2)(4)(5)
C(6)(3)(1)(2)(4)(5)
D(5)(3)(1)(2)(4)(6)
18.关于Hive中窗口函数下列描述正确的是()
ALAG用于统计窗口内往上第n行值,空不计入窗口中
BLEAD用于统计窗口内往下第n行值,空不计入窗口中
CFIRST_VALUE取分组排序后,截止到当前行的第一个值
DLAST_VALUE取分组不需要指定ORDERBY后,截止到当前行的最后一个值
19.Hive是由哪家公司开源的()
AGoogle
B Facebook
ClinkedIn
DNetflix
20.下面关于Hivemetastore的三种模式的描述错误的是(
ADerby方式是内嵌的方式,也是默认的启动方式,一般用于单元测试
Blocal模式中,使用MySQL本地部署实现metastore
Cremote模式为远程MySQL
DDerby方式在同一时间只能有多个进程连接使用数据库
21.代码select bin(17)与下面结果一致:
Aselectconv(17,10,2)
Bselectconv(17,2,10)
Cselectconv(17,2,16)
Dselectconv(17,10,16)
22.下面关于Hive数据倾斜问题的描述正确的是()
AHive作业长时间执行未结束一定是数据倾斜问题
B数据倾斜的问题一定是某个reducer的数据输入量远远大于其他reducer数据的输入量
CCOUNT(DISTINCT...)一定会造成数据倾斜
D数据倾斜常见的原因就是key分布在mapper上不均匀
23.代码select substr('abcdef',2,3)的结果是哪一个:
bc
bcd
cde
其他结果都不对
substr(stringA,intstart,intlen)和substring(stringA,intstart,intlen),用法一样
功效:返回字符串A从下标start位置开始,长度为len的字符串,字符串下标从1开始
24.下面关于Hive各个格式使用场景描述错误的是()
Parquet对于大型查询的类型是高效的,对于扫描特定表格中的特定列的查询,Parquet特别有用
目前Parquet默认使用gzip压缩格式
ORC可以支持复杂的数据结构(比如Map等)
RCFile是一种行列存储相结合的存储方式
【B】
A.正确,spark最常见的表格式也是Parquet
B.错误,默认为snappy
C.正确,ORC支持多种复杂的数据结构Map、Struct等
D.正确,行存为块,块为列存相结合
25.在hive中下列哪些命令可以实现去重()
Adistinct
Bgroupby
Crow_number
Dhaving
26下面关于HiveSQL需要判断table1中有哪些table2中没有的数据,SQL正确的是(),非分区表,返回差异数据的具体id
ASELECT*FROMtable1t1LEFTJOINtable2t2ONt1.id=t2.idWHERet2.idISNULL
BSELECt*FROMtable1t1RIGHTJOINtable2t2ONt1.id=t2.id
CSELECt*FROMtable1t1JOINtable2t2ONt1.id=t2.idWHERet2.idISNOTNULL
DSELECt*FROMtable1t1RIGHTJOINtable2t2ONt1.id=t2.idWHERet2.idISNOTNULL
【A】
A.正确,通过id左连接table1、table2找出table1中id存在但是table2中id不存在的id
B.错误,参考A
C.错误,参考A,JOIN只能找出table1和table2共有的数据
D.错误,找出的id为table2中id存在但是table1中id不存在的id
27.下面关于Hive外表table1的数据删除描述正确的是()
ADROpTABLEtable1;
BTRUNCATETABLEtable1;
CALTERTABLEtable1RENAMETOtable2
DALTERtable1SETTBLPROPERTIES('EXTERNAL'='FALSE');DROPTABLEtable1;
【D】
A.错误,Hive无法删除外表数据,只会删除元数据
B.错误,Hive无法删除外表数据
C.错误,是修改表名并不是删除外表
D.正确,将外表转换为内表,转换后DROP操作会删除元信息和数据
28.在Hive中一个查询语句执行后显示的结果为:
20180812 50;20180813 32;20180814NULL,则最有可能的查询语句是()
ASELECTinc_day,count(task_no)FROM任务表WHEReinc_day<=20180814 BSELECtinc_day,count(task_no)FROM任务表WHEReinc_day<=20180814GROUPBYinc_day CSELECtinc_day,count(task_no)FROM任务表WHEReinc_day<=20180814ORDERBYinc_day DSELECtinc_day,count(task_no)FROM任务表HAVINginc_day<=20180814GROUPBYinc_day
29.已知表emp存在字段name1,以下语句能够正常运行的是哪一个:
Aaltertableemprenametoemp1
Baltertableemprenameemptoemp1
Caltertableempchangecolumnname1toname2
Daltertableempchangenamename12
30.下面关于Hive描述正确的是()
ACOUNT函数必须开窗口才能使用
BMAX函数是窗口函数
CLEAD函数是聚合函数,不是窗口函数
DMIN函数是聚合函数,不是窗口函数
B】
A.错误,COUNT函数搭配GROUPBY不需要开窗也能使用
B.正确,MAX函数是窗口函数,也是聚合函数,UDAF
C.错误,LEAD函数是聚合函数,也是窗口函数,UDAF
D.错误,MIN函数是聚合函数,也是窗口函数,UDAF
31.下面关于HiveSQL中INSERTINTO和INSERTOVERWRITE的区别说法正确的是()
AINSERTINTO会覆盖已经存在的数据
BINSERTOVERWRITE会先现将原始表的数据remove,再插入新数据
CINSERTOVERWRITE不考虑原始表的数据,直接追加到表中
DINSERTINTO重复的数据会报错
【B】
A.错误,不会覆盖
B.正确,OVERWRITE=删除+插入
C.错误,INSERTINTO不考虑原始表的数据,直接追加到表中
D.错误,只会追加不会报错
32.以下表达式书写错误的是()
Ayear('2015-12-3112:21')
Bmonth(2015-10-31)
Cday('2015-12-11')
Ddate_sub('2015-12-01',3)
year(stringdate)、month(stringdate)、day(stringdate)、date_sub(stringstartdate,intdays),参数都是string类型。B选项参数不是string类型。
33.下面关于Hive表分区的使用错误的是()
APARTITIonEDBY(xxx)表示根据xxx的内容分区
BINSERT写入分区表的指定分区时,需要改为INSERTINTOtablePARTITION(...)
C分区表即使不在查询里进行分区剪裁,SQL的执行速度也会很快
D分区表是常见的生产环境使用的表
A.正确,建表语句后跟的属性
B.正确,写入指定分区
C.错误,分区表在进行查询的时候需要分区剪裁提速,即使表进行了分区不指定分区查询仍然会遍历所有分区的表,为全表查询
D.正确,生产环境作业隔天运行常见按照时间分区
34.下面关于HiveSQL创建表时描述正确的是()
ALIKE允许复制表结构和表数据
BCOMMENT可以为表与字段增加描述,必须有,不加会报错
CROWFORMAT设置行数据压缩格式
D如果相同名字的表已经存在,则建表抛出异常
【D】
A.错误,LIKE只会复制表结构
B.错误,COMMENT为备注内容可加可不加、不是阻塞性功能
C.错误,ROWFORMAT设置行数据分割格式
D.正确,需要修改为CREATETABLEIFNOTEXISTS
35.table1是根据dt分区的数据表,dt例如:20220101,下列加载数据的SQL正确的是(),要求可重跑、写入分区要求当前天执行时写入至前一天的分区
A LOADDATAINPATH'filepath'OVERWRITEINTOTABLEtable1PARTITION(dt='{{yyyymmdd}}')
BLOADDATAINPATH'filepath'INTOTABLEtable1PARTITION(dt='{{yyyymmdd}}')
CLOADDATAINPATH'filepath'INTOTABLEtable1PARTITION(dt='{{yyyyMMdd}}')
DLOADDATAINPATH'filepath'OVERWRITEINTOTABLEtable1PARTITION(dt='{{yyyyMMdd-1d}}')
【D】
A.错误,时间分区错误
B.错误,时间分区错误、不能重跑
C.错误,时间分区错误、不可重跑
D.正确,OVERWRITE可重跑、时间分区为前一天
36.以下哪种不是Hive支持的数据类型()
AStruct
BInt
CMap
DLong
Hive不支持Long类型,支持 TINYINTSMALLINTINTBIGINT。
37.例如Hive建表语句中storedas的作用是指定表的格式,下列不属于Hive表的常见格式的是()
create tableifnotexiststextfile_table
(
ueseridSTRING,
movieidSTRING,
ratingSTRING,
tsSTRING
)
rowformateddelimatedfieldsterminatedby ''
storedastextfile;
APigTable
BORC
CPARQUET
DTEXTFILE
【A】
A.错误,非Hive可指定的表格式
B.正确,常见的表格式
C.正确,常见的表格式
D.正确,默认的表格式
38.下面关于Hive格式描述正确的是()
ATEXTFILE存储方式为列存储
BTEXTFILE格式的数据磁盘开销不大
C使用TEXTFILE时Hive会对数据进行切分
DTEXTFILE格式是Hive的默认存储格式
【D】
A.错误,TEXTFILE存储方式为行存储
B.错误,TEXTFILE格式的数据磁盘开销大,数据解析开销大
C.错误,使用TEXTFILE时Hive无法对数据进行切分,从而无法对数据进行并行操作
D.正确,未显示声明表的存储格式都是TEXTFILE
39.下面关于Hive用户自定义函数UDF的描述错误的是()
UDF(User-Defined-Function)一进一出
UDAF(User-DefinedAggregationFuncation)聚集函数,多进一出
UDTF(User-DefinedTable-GeneratingFunctions)一进多出
上传UDFjar包至Hive环境即可使用自定义函数
【D】
A.正确,常见的逻辑判断场景
B.正确,聚合函数,常见窗口函数,count/max/min
C.正确,行列转化,如lateralviewexplore
D.错误,不仅需要上传jar包,还需要addjar包进行UDF注册才可以使用
40.下面关于查看Hive表信息描述正确的是()
ADESC查看表的描述是以建表语句的形式展示的
BSHOWCREATETABLE查看表的描述是以表格的形式展示的
C使用DESC查看表table1:DESCtable1;
DSHOWCREATETABLE可以查看表的数据
【C】
A.错误,SHOWCREATETABLE查看表的描述是以建表语句的形式展示的
B.错误,DESC查看表的描述是以表格的形式展示的
C.正确,DESC查看表的表格形式描述信息
D.错误,SHOWCREATETABLE只能查看表的描述信息
41.下面关于Hive导表写入指定格式表时的描述正确的是()
A导表时,如果建表语句指定为ORC格式的表,那么数据会先存储为ORC格式
B导表时,如果建表语句指定为SequenceFile格式的表,那么数据会先存储为SequenceFile格式
C导表时,如果建表语句指定为PARQUET格式的表,那么数据会先存储为PARQUET格式
D导表时,如果建表语句指定为ORC格式的表,那么数据会先存储为TEXTFILE格式
【D】
A.错误,指定ORC格式则Hive会先导入TEXTFILE格式的数据,再转换为指定格式
B.错误,指定SequenceFile格式则Hive会先导入TEXTFILE格式的数据,再转换为指定格式
C.错误,指定PARQUET格式则Hive会先导入TEXTFILE格式的数据,再转换为指定格式
D.正确,指定ORC格式则Hive会先导入TEXTFILE格式的数据,再转换为指定格式
42.下面关于Hive存储的文件格式描述错误的是()
AORC格式是Hive一直支持的
BTEXTFILE是Hive的默认存储格式
CSequenceFile是一种二进制存储
DRC是ORC的前身
【A】
A.错误,ORC格式是Hive0.11版本以后才支持的
B.正确,不声明建表格式,就会存储为TEXTFILE
C.正确,二进制文件,以<key,value>的形式序列化到文件中
D.正确,ORC效率比RC高,是RC的改良版本
43.下列关于Hive特性归纳正确的选项是()
(1)为了数据仓库而设计
(2)迭代式算法无法表达
(3)数据挖掘方面不擅长
(4)分布式拓展能力强,适合高吞吐量、批量、海量数据处理
(5)不属于MapReduce框架
(6)低容错性
(1)(2)(3)(4)
(1)(2)(3)(6)
(2)(3)(5)(6)
(1)(2)(3)(4)(6)
【A】
A.正确
B.错误,(1)(2)(3)(4)正确,(6)错误,HiveSQL的作业具有高容错性,即使节点出现问题,仍然可以成功执行
C.错误,(1)(2)(3)(4)正确,(5)错误,Hive计算框架是基于MapReduce框架衍生而来;(6)错误,HiveSQL的作业具有高容错性,即使节点出现问题,仍然可以成功执行
D.错误,(1)(2)(3)(4)正确,(6)错误,HiveSQL的作业具有高容错性,即使节点出现问题,仍然可以成功执行
44.下面关于HiveSQL编译描述正确的是()
AHiveSQL的Parser层是为了将SQL转化为执行计划的
B逻辑层优化器会进行算子转换,优化合并不必要的算子操作
CMapReduce任务是需要遍历QueryBlock后生成的
D编译器遍历ASTTree,抽象出查询的基本组成单元OperatorTree
【B】
A.错误,HiveSQL的Parser层是为了将SQL转化为ASTTree
B.正确,逻辑层优化器在算子转化时候优化掉不必要的算子操作,减少shuffle数据量
C.错误,MapReduce任务是需要遍历OperatorTree后生成的
D.错误,编译器遍历ASTTree,抽象出查询的基本组成单元QueryBlock
45.下面关于Hive对于Parquet格式的描述正确的是()
AParquet支持压缩编码:uncompressed,snappy,gzip,lzo
Bsnappy压缩具有更好的压缩比
Cgzip压缩具有更好的性能
D Hive一直支持Parquet格式
【A】
A.正确,常见的Parquet格式的压缩编码
B.错误,snappy压缩具有更好的压缩性能
C.错误,gzip压缩具有更好的压缩比
D.错误,Hive0.13版本才支持Parquet格式
46.下面关于Hive的SequenceFile格式描述正确的是()
ASequenceFile是二进制文件格式,以list的形式序列化到文件中
BSequenceFile存储方式:列存储
CSequenceFile不可分割、压缩
DSequenceFile优势是文件和Hadoopapi中的MapFile是相互兼容的
【D】
A.错误,以<key,value>的形式序列化到文件中
B.错误,SequenceFile存储方式:行存储
C.错误,SequenceFile可以进行分割、压缩,常见为Block压缩
D.正确,可序列化是分布式大数据系统的常见属性
47.下面关于Hive数据模型描述正确的是()
AHive的元数据存储在HDFS中
BHive的数据模型只包含:表、分区
CHive的默认分隔符是^A(001),使用的是UTF-8的编码
DHive中的桶一般是文件的形式存在的
【D】
A.错误,Hive的元数据存储在metaStore中
B.错误,表、分区、桶
C.错误,使用的是ASCii码
D.正确,Hive中的桶以文件的形式存
48.下面关于Hive内外表描述正确的是()
A内部表数据由HDFS自身管理,外部表数据由Hive管理;
B内部表数据存储的位置是hive.metastore.warehouse.dir设置配置(默认:/user/hive/warehouse)
C外表存储必须指定LOCATION
D内外表删除时,都会删除元数据和存储
【B】
A.错误,内部表数据由Hive自身管理,外部表数据由HDFS管理;
B.正确,Hiveconfig默认设置
C.错误,外表存储不指定LOCATION时,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里
D.错误,只有内表删除时,才会删除元数据和存储;外表只会删掉元数据
49.下面关于Hive的索引描述正确的是()
AHive使用了索引加速数据查询
BHive查询时,命中索引会更快的返回查询结果
CHive要访问数据中满足条件的特定值时,命中索引则会更快的返回查询结果
DHive没有索引,在加载数据的过程中不会对数据进行任何处理,因此也没有对数据中的某些Key建立索引
【D】
A.错误,Hive没有索引,在加载数据的过程中不会对数据进行任何处理
B.错误,Hive没有索引,在加载数据的过程中不会对数据进行任何处理
C.错误,Hive没有索引,在加载数据的过程中不会对数据进行任何处理;Hive会根据特定条件扫描符合条件的所有数据
D.正确
50.已知数组trans_cnt[1,2,3,4],以下哪一个表达式是求数组的元素数量()
Atype(trans_cnt)
Blength(trans_cnt)
Ccoalesce(trans_cnt)
Dsize(trans_cnt)
length():获取字符串的长度
coalesce(a1,a2,......,an):返回a1,a2,......,an中遇到的第一个不为NULL的值
size():获取数组的大小
51.下面关于HiveUDF开发描述错误的是()
AHive有两个不同的接口编写UDF
Borg.apache.hadoop.hive.ql.exec.UDF基础UDF的函数读取和返回基本类型,仅支持Text类型
Corg.apache.hadoop.hive.ql.udf.generic.GenericUDF复杂的GenericUDF可以处理Map、List、Set类型
DUDF处理原则是,输出和输出一对一的关系的函数
【B】
A.正确,UDF和GenericUDF
B.错误,支持Hadoop和Hive的基本类型。如,Text、IntWritable、LongWritable、DoubleWritable等
C.正确
D.正确,一对一的关系
52.已知表test(name)的记录如下:
tomtom_greentomly
lily
代码select * from test where name rlike 'tom.*'的结果有几条记录()
A1
B2
C3
D0
rlike和like功能大致一样,它后面支持标准正则表达式语法;
.*表示匹配n个字符,所以 tom、tom_green、tomly都会查询到。
53.下面关于Hive内外表的区别描述错误的是()
ALOAD加载数据,内外表都会把数据加载至自己指定的路径下
B内部表不会加载数据到Hive的默认仓库(挂载数据),减少了数据的传输,同时还能和其他外部表共享数据
C使用外部表,Hive不会修改源数据,不用担心数据损坏或丢失。
DHive在删除外部表时,删除的只是表结构,而不会删除数据。
【B】
B.错误,外部表不会加载数据到Hive的默认仓库(挂载数据),减少了数据的传输,同时还能和其他外部表共享数据
54.下面关于Hive查询通常延迟较高的原因描述错误的是()
A由于没有索引,需要扫描整个表,因此延迟较高
B由于MapReduce本身具有较高的响应延迟,因此在利用MapReduce执行Hive查询时,也会有较高的延迟响应
C关系型数据库较于Hive底层的文件系统实现,执行延迟较低
DHive查询延迟较于关系型数据库,延迟响一直都是很高的
【D】
D.错误,关系型数据比如MySQL数据量超过千万级别查询延迟就会高于Hive
55.下面关于使用hive的描述中不正确的是?
Ahive中的join查询只支持等值链接,不支持非等值连接
Bhive的表一共有两种类型,内部表和外部表
Chive默认仓库路径为/user/hive/warehouse/
Dhive支持数据删除和修改
56.下面关于Hive中join优化的描述正确的是()
A大表JOIN小表时,谁先谁后无所谓,执行计划、效率都是一样的
B大表JOIN小表时,使用mapjoin会极大地提升性能,因为它会将小表存储在磁盘里面供大表读取
C大表JOIN大表时,不妨可以先尝试将一个表进行表剪裁、列剪裁,将大表JOIN大表的问题转换为大表JOIN小表
DWITHAS语法可以将查询写入内存中,供其他SQL使用,WITHAS本身支持嵌套子查询
【B、C】
A.错误,小表在前,将小表放在前,效率会高,hive会将小表进行缓存,且执行计划不一样
B.正确,mapjoin会将小表的数据写入内存,提升JOIN速度
C.正确,常见的解决大表JOIN大表问题的思路就是转化为大表JOIN小表
D.错误,WITHAS句式本身不支持嵌套子查询
57.代码selectbin(17)的结果是下面哪一个()
A101 B10001 C111 D1001
bin(BIGINTa):返回a的二进制字符串表示。
17的二进制为10001。
58.下面关于Hive的ORC格式描述正确的是()
AORC的存储方式:数据按行分块每块按照列存储
BORC不可以进行压缩
CRC效率比ORC高,是ORC的改良版本
DORC格式是Hive默认的建表格式
【A】
A.正确,ORC文件的规范是数据按行分块,在由块按照列存储
B.错误,ORC可以进行快速的存取和压缩
C.错误,ORC效率比RC高,是RC的改良版本
D.错误,TEXTFILE格式是Hive默认的建表格式
59.在0.13版本前,下面关于HiveSQL描述错误的是()
AHiveSQLIN不能跟子查询(在0.13版本以前),0.13后可使用EXISTS
BHiveSQLIN不能跟子查询,可以改为类似SQL:
SELECTa.key,a.valueFROMaLEFTOUTERJOINbON(a.key=b.key)WHEReb.key<>NULL;
CHiveSQLIN不能跟子查询,可以改为类似SQL:
SELECta.key,a.valFROMaLEFTSEMIJOINbon(a.key=b.key);
D可以使用,
SELECta.key,a.valueFROMaWHERea.keyEXISTS(SELECtb.keyFROMB);
【D】
A.正确,Hive中IN后不能跟子查询
B.正确,可以改写为LEFTOUTERJOIN的形式
C.正确,LEFTSEMIJOIN是一种更高效的实现形式
D.错误,Hive中IN后不能跟子查询(在0.13版本以前)
60.下面关于Hive描述错误的是()
ATEXTFILE格式的文件就算结合了gzip压缩格式,也无法对数据进行并行操作
BSequenceFile是HadoopAPI提供的一种二进制文件支持
CRCFile是一种行存储的格式
DORC文件是基于RCFile格式的一种优化
【C】
A.正确,gzip不会对数据进行切分,从而提供并行分析的可能
B.正确,可序列化是HadoopAPI的要求,也是Hadoop系统常见个格式
C.错误,RCFile是一种行列结合的格式,数据块列存,数据行以块存储
D.正确,ORC优化的基础是RCFile
61.下面关于Hive架构描述不正确的是()