HCIP-Big Data-Developer V1.0模拟试卷
1.(判断题) HDFS采用的是“一次写入、多次读取”的文件访问模型。所以推荐一个文件经过创建、写入和关闭之后,就不要再去修改。
A. True B. False
2.(多选题) HDFS的应用开发中,下列哪些是HDFS服务支持的接口?
A. BufferedOutputStream.write
B. BufferedOutputStream.flush
C. FileSystem.create
D. FileSystem.append
3. (多选题) 关于kinit操作命令,如下哪些说法是错误的?
A. 只能使用人机账号。
B. 只能使用机机账号。
C. 一个客户端不支持多个账号同时使用。
D. 执行此命令得到的票据在24小时后会超时,需再次执行kinit命令去重新登录。
4.(多选题)对于HBase Rowkey的设计原则,如下描述正确的是?
A. 访问权重高的属性值放在Rowkey前面。
B. 访问权重高的属性值放在Rowkey后半部分。
C. 离散度好的属性值放在Rowkey前半部分。
D. 离散度好的属性值放在Rowkey后半部分。
5.(单选题)HBase表的Rowkey设计是一个很重要的开发设计环节。假设存在如下场景,最频繁的查询场景是基于手机号查询每个月、每半年的历史通话记录,以下哪个Rowkey设计是最优的?
A. 姓名+手机号 B. 日期+手机号
C. 手机号+日期 D. 手机号+姓名
6.(单选题) FusionInsight HD中,关于Hive的分区(partition)功能,如下描述错误的是?
A. 分区字段要在创建表时定义。
B. 分区字段只能有一个,不可以创建多级分区。
C. 使用分区,可以减少某些查询的数据扫描范围,进而提高查询效率。
D. 分区字段可以作为where字句的条件。
7.(判断题) FusionInsight HD系统的V100R002C60版本中,Hive仅支持基于MapReduce引擎的查询服务,不支持基于Spark引擎的查询服务。
A. True
B. False
8.(单选题) FusionInsight HD中,对Solr各类资源的创建和读写权限使用,以下说法错误的是?
A. Solr用户组用户可以创建配置集,并在创建Collection时指定该配置集。
B. Solr用户组的用户可以创建Collection。
C. Collection创建者、对该Collection具有读写权限的角色以及Solr admin角色可以对Collection进行更新。
D. 只有Collection创建者和Solr admin角色可以删除Collection。
9.(多选题) 在Solr的应用查询场景中,当对查询结果深度翻页时,需使用游标进行深度翻页。下面对游标说法正确的是?
A. 必须对查询字段进行排序。
B. 必须对uniqueKey字段进行排序。
C. 第一次查询请求时,需指定查询参数,操作方法如下:
solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, CursorMarkParams.CURSOR_MARK_START);
D. 查询时,请求中不能带有start参数。
E. Solr的返回结果中会有nextCursorMark,在下次调用时使用这个值作为cursorMark。
10.(多选题)关于Kafka的Producer,如下说法正确的是?
A. Producer是消息生产者。
B. Producer生产数据需要指定Topic。
C. 可以同时起多个Producer进程向同一个Topic进行数据发送。
D. Producer生产数据时需要先连接ZooKeeper,而后才连接Broker。
11.(单选题) 在FusionInsight HD产品中,关于Kafka安全和非安全端口描述错误的是?
(注:旧API是指旧Producer API和旧Consumer API。其中,旧Consumer API:是指kafka.consumer.ConsumerConnector中定义的接口;旧Producer API:是指kafka.producer.Producer中定义的接口。)
A. Kafka集群安全访问端口默认为21007,非安全访问端口默认为21005。
B. 旧API通过21005端口访问某个Topic的前提是:服务端参数allow.everyone.if.no.acl.found设置为true,且此Topic未设置ACL属性。
C. 旧API仅支持访问21005端口;新API兼容访问非安全端口21005和安全端口21007。
D. 对于设置了ACL的Topic,可以使用旧API连接21005端口进行访问。
12.(判断题)在一个MapReduce应用程序中,map函数的输出经由MapReduce框架处理后,发送到reduce函数。这个处理过程是基于键值对进行排序和分组的。
A. True
B. False
13.(判断题)在FusionInsight HD中,Spark默认采用YARN作为集群资源管理系统。
A. True
B. False
14.(单选题)Spark应用的计算逻辑会被解析成DAG,这个解析操作由以下哪个功能模块完成?
A. Client
B. ApplicationMaster
C. Executor
D. Driver
15.(单选题)在Flume中,source功能模块的主要作用是?
A. 获取数据,并将原始数据转化成自己处理的数据对象。
B. 缓存数据,根据不同的可靠性策略,将数据保存在内存或文件上。
C. 输出数据到目的地,支持多种输出协议。
D. 拆分数据,根据数据的特性,将数据发送到不同的目的地。
16.(单选题) 关于Streaming的拓扑(Topology),下面描述错误的是?
A. 一个Topology是由一组Spout组件和Bolt组件通过Stream Groupings进行连接的有向无环图(DAG)。
B. Topology会一直运行,直到它被显式kill。
C. 业务逻辑都被封装进Topology中。
D. 一个Topology只可以指定启动一个Worker进程。
17.(单选题) 假设一个应用有10个表,每个表记录数为千万级别,字段数约20个。现使用Redis来缓存这10个表的数据,对其数据结构的设计,以下哪一项是最佳设计?
A. 采用hash结构,且一个表使用一个hash KEY,表中一行记录对于hash KEY的一个field。
B. 采用hash结构,每个表的每一行记录使用一个hash KEY,hash KEY的field对应表记录的字段,且设计KEY时每个表添加不同的前缀进行区分。
C. 采用string结构,每个表的每一行记录的每个字段使用一个KEY。
D. 采用string结构,每个表的每一行记录使用一个KEY,value为表中一行记录的所有字段拼接后的值。
18.(多选题) FusionInsight HD中,在使用Streaming的ACK机制时,下列哪些说法是正确的?
A. 启用了Acker之后,Streaming会识别发送失败的Tuple并自动重发,无需人为干预。
B. Acker会标识处理超时或者处理失败的消息为fail。
C. 从spout开始,形成的Tuple树中任何一个环节失败都会标记整棵树失败。
D. 应用需要在spout的fail()接口方法中实现消息重发逻辑。
19.(多选题)在Spark中,关于广播变量以下说法正确的是?
A. 广播变量在每个Task中保存一份 。
B. 广播变量在每个Executor中保存一份。
C. 广播变量是只读的。
D. 广播变量通过SparkContext.broadcast()方法生成。
20.(单选题)在Spark中,假设lines是一个DStream对象,filter语句可以过滤掉80%的数据,针对以下两个语句说法正确的是:
X: lines.filter(...).groupByKey(...)
Y: lines.groupByKey(...).filter(...)
A. X比Y的性能更高
B. X比Y的性能更低
C. X和Y和性能一样
D. 无法确性X和Y的性能差异
答案:
1. A 2.ABCD 3. ABC 4.AC 5.C 6.B 7.A 8.A 9. BCDE 10. ABC 11.D 12.A 13.A 14.D 15.A 16.D 17.B 18. BCD 19. BCD 20.A
A. True B. False
2.(多选题) HDFS的应用开发中,下列哪些是HDFS服务支持的接口?
A. BufferedOutputStream.write
B. BufferedOutputStream.flush
C. FileSystem.create
D. FileSystem.append
3. (多选题) 关于kinit操作命令,如下哪些说法是错误的?
A. 只能使用人机账号。
B. 只能使用机机账号。
C. 一个客户端不支持多个账号同时使用。
D. 执行此命令得到的票据在24小时后会超时,需再次执行kinit命令去重新登录。
4.(多选题)对于HBase Rowkey的设计原则,如下描述正确的是?
A. 访问权重高的属性值放在Rowkey前面。
B. 访问权重高的属性值放在Rowkey后半部分。
C. 离散度好的属性值放在Rowkey前半部分。
D. 离散度好的属性值放在Rowkey后半部分。
5.(单选题)HBase表的Rowkey设计是一个很重要的开发设计环节。假设存在如下场景,最频繁的查询场景是基于手机号查询每个月、每半年的历史通话记录,以下哪个Rowkey设计是最优的?
A. 姓名+手机号 B. 日期+手机号
C. 手机号+日期 D. 手机号+姓名
6.(单选题) FusionInsight HD中,关于Hive的分区(partition)功能,如下描述错误的是?
A. 分区字段要在创建表时定义。
B. 分区字段只能有一个,不可以创建多级分区。
C. 使用分区,可以减少某些查询的数据扫描范围,进而提高查询效率。
D. 分区字段可以作为where字句的条件。
7.(判断题) FusionInsight HD系统的V100R002C60版本中,Hive仅支持基于MapReduce引擎的查询服务,不支持基于Spark引擎的查询服务。
A. True
B. False
8.(单选题) FusionInsight HD中,对Solr各类资源的创建和读写权限使用,以下说法错误的是?
A. Solr用户组用户可以创建配置集,并在创建Collection时指定该配置集。
B. Solr用户组的用户可以创建Collection。
C. Collection创建者、对该Collection具有读写权限的角色以及Solr admin角色可以对Collection进行更新。
D. 只有Collection创建者和Solr admin角色可以删除Collection。
9.(多选题) 在Solr的应用查询场景中,当对查询结果深度翻页时,需使用游标进行深度翻页。下面对游标说法正确的是?
A. 必须对查询字段进行排序。
B. 必须对uniqueKey字段进行排序。
C. 第一次查询请求时,需指定查询参数,操作方法如下:
solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, CursorMarkParams.CURSOR_MARK_START);
D. 查询时,请求中不能带有start参数。
E. Solr的返回结果中会有nextCursorMark,在下次调用时使用这个值作为cursorMark。
10.(多选题)关于Kafka的Producer,如下说法正确的是?
A. Producer是消息生产者。
B. Producer生产数据需要指定Topic。
C. 可以同时起多个Producer进程向同一个Topic进行数据发送。
D. Producer生产数据时需要先连接ZooKeeper,而后才连接Broker。
11.(单选题) 在FusionInsight HD产品中,关于Kafka安全和非安全端口描述错误的是?
(注:旧API是指旧Producer API和旧Consumer API。其中,旧Consumer API:是指kafka.consumer.ConsumerConnector中定义的接口;旧Producer API:是指kafka.producer.Producer中定义的接口。)
A. Kafka集群安全访问端口默认为21007,非安全访问端口默认为21005。
B. 旧API通过21005端口访问某个Topic的前提是:服务端参数allow.everyone.if.no.acl.found设置为true,且此Topic未设置ACL属性。
C. 旧API仅支持访问21005端口;新API兼容访问非安全端口21005和安全端口21007。
D. 对于设置了ACL的Topic,可以使用旧API连接21005端口进行访问。
12.(判断题)在一个MapReduce应用程序中,map函数的输出经由MapReduce框架处理后,发送到reduce函数。这个处理过程是基于键值对进行排序和分组的。
A. True
B. False
13.(判断题)在FusionInsight HD中,Spark默认采用YARN作为集群资源管理系统。
A. True
B. False
14.(单选题)Spark应用的计算逻辑会被解析成DAG,这个解析操作由以下哪个功能模块完成?
A. Client
B. ApplicationMaster
C. Executor
D. Driver
15.(单选题)在Flume中,source功能模块的主要作用是?
A. 获取数据,并将原始数据转化成自己处理的数据对象。
B. 缓存数据,根据不同的可靠性策略,将数据保存在内存或文件上。
C. 输出数据到目的地,支持多种输出协议。
D. 拆分数据,根据数据的特性,将数据发送到不同的目的地。
16.(单选题) 关于Streaming的拓扑(Topology),下面描述错误的是?
A. 一个Topology是由一组Spout组件和Bolt组件通过Stream Groupings进行连接的有向无环图(DAG)。
B. Topology会一直运行,直到它被显式kill。
C. 业务逻辑都被封装进Topology中。
D. 一个Topology只可以指定启动一个Worker进程。
17.(单选题) 假设一个应用有10个表,每个表记录数为千万级别,字段数约20个。现使用Redis来缓存这10个表的数据,对其数据结构的设计,以下哪一项是最佳设计?
A. 采用hash结构,且一个表使用一个hash KEY,表中一行记录对于hash KEY的一个field。
B. 采用hash结构,每个表的每一行记录使用一个hash KEY,hash KEY的field对应表记录的字段,且设计KEY时每个表添加不同的前缀进行区分。
C. 采用string结构,每个表的每一行记录的每个字段使用一个KEY。
D. 采用string结构,每个表的每一行记录使用一个KEY,value为表中一行记录的所有字段拼接后的值。
18.(多选题) FusionInsight HD中,在使用Streaming的ACK机制时,下列哪些说法是正确的?
A. 启用了Acker之后,Streaming会识别发送失败的Tuple并自动重发,无需人为干预。
B. Acker会标识处理超时或者处理失败的消息为fail。
C. 从spout开始,形成的Tuple树中任何一个环节失败都会标记整棵树失败。
D. 应用需要在spout的fail()接口方法中实现消息重发逻辑。
19.(多选题)在Spark中,关于广播变量以下说法正确的是?
A. 广播变量在每个Task中保存一份 。
B. 广播变量在每个Executor中保存一份。
C. 广播变量是只读的。
D. 广播变量通过SparkContext.broadcast()方法生成。
20.(单选题)在Spark中,假设lines是一个DStream对象,filter语句可以过滤掉80%的数据,针对以下两个语句说法正确的是:
X: lines.filter(...).groupByKey(...)
Y: lines.groupByKey(...).filter(...)
A. X比Y的性能更高
B. X比Y的性能更低
C. X和Y和性能一样
D. 无法确性X和Y的性能差异
答案:
1. A 2.ABCD 3. ABC 4.AC 5.C 6.B 7.A 8.A 9. BCDE 10. ABC 11.D 12.A 13.A 14.D 15.A 16.D 17.B 18. BCD 19. BCD 20.A