一、选择题
1. 下面哪一项不是mongodb的数据模型?( A )
A、column B、field C、collection D、database
2. HDFS的NameNode http服务的默认端口是?( C )
A、8080 B、8088 C、50070 D、9000
3. 启动Hadoop集群HDFS时,需要在那个组件所在的服务器上执行启动指令?( B )
A、DataNode B、NameNode C、Secondary NameNode D、ResourceManager
4. Hive 的元数据存储在 derby 和 MySQL 中有什么区别?( B )
A、没区别 B、多会话 C、支持网络环境 D、数据库的区别
5. 下面哪个程序负责 HDFS 数据存储?( C )
A、NameNode B、Jobtracker C、Datanode D、secondaryNameNode
6. 关于SecondaryNameNode 下面哪项是正确的( C )
A、它是NameNode 的热备 B、它对内存没有要求
C、它的目的是帮助NameNode 合并编辑日志,减少 NameNode 启动时间
D、SecondaryNameNode 应与NameNode 部署到一个节点
7. 对于hbase Region分裂描述不正确的是( B )
A、随着数据不断写入Region,达到一定阀值时,Region会自动分裂
B、Region分裂的阀值固定为10G,与hBase版本无关。
C、MemStore缓存刷新值默认其值为128M
D、Hbase如果采用IncreasingToUpperBoundRegionSplitPolicy分裂策略,在第4次及之后都会按照10G分裂
8. 以下哪个不是Spark的组件( D )
A、Driver B、SparkContext C、ClusterManager D、ResourceManager
9. 对于ECharts描述不正确的是( C )
A、ECharts是由百度商业前端数据可视化团队研发的图表库
B、ECharts 提供了非常丰富的图表类型,常规的折线图,柱状图,散点图,饼图,K线图,用于统计的盒形图,用于地理数据可视化的地图,热力图,线图等。
C、ECharts提供了2个版本:精简版和完全版 D、ECharts底层用的是javascript封装
10. mongodb的默认端口是( B )
A、9000 B、27017 C、2181 D、6379
11. Redis的数据类型不包括( C )
A、String B、Hash C、Map D、List
12. 下面对于HRegionServer、HRegion、HStore、StoreFile,Memstore的关系说法不正确的是?( C )
A、HRegionServer包含多个HRegion B、HRegion包含多个HStore
C、HStore包含多个Memstore D、HStore包含多个storeFile
13. 下面哪个hbase shell命令用于查询单行数据?( B )
A、put B、get C、scan D、list
14. 对Hbase核心组件描述不正确的是?( C )
A、HMaster 主要负责 Table 和 Region 的管理工作
B、HRegionServer 主要负责响应用户 I/O 请求, 向 HDFS 文件系统中读写数据,是 HBase 中最核心的模块
C、一个RegionServer中包含唯一的多个HLog实例,HLog用于实现预写日志
D、HRegion里包含了很多HStore,HStore对应于HBase表的列族
15. 安装Hadoop2.0以上版本完全集群模式时哪个组件不是必须的?( C )
A、HDFS B、Yarn C、zookeeper D、MapReduce
16. hbase scan过滤查询描述不正确的是?( D )
A、Limit用于限制查询数据的条数 B、可以使用columns限定查询具体的哪些列的数据。
C、ValueFilter可以限制查询具体的某一个值的数据
D、STARTROW和STOPROW用于查询在某一个范围内的rowkey的数据,包含结尾。
17. 以下哪一项不属于Hadoop可以运行的模式?( C )
A. 单机(本地)模式 B.伪分布式模式 C.互联模式 D.完全集群模式
18. Worker是( B )
A、主节点 B、从节点 C、执行器 D、上下文
19. 下面对Hbase的自动拆分策略说法不正确的是( D )
A、ConstantsizeRegionSplitPolicy按固定的大小值拆分Region。这个固定的大小值默认为10G.
B、IncreasingToUpperBoundRegionSplitPolicy 当表的片分为1-99时,按照拆分次数的3次方*hbase.increasing.policy.initial.size进行拆分。
C、hbase.increasing.policy.initial.size的默认值为memstore的大小*2
D、当memstore的大小设置为256M时,使用IncreasingToUpperBoundRegionSplitPolicy进行拆分,在第四次拆分以后,每次拆分的大小都时固定的10G。
20. 对于Echarts常用组件描述不正确的是?( A )
A、Echarts工具栏组件是:tool。针对制作的图表的一些操作,例如导出图片,数据视图,动态类型切换,数据区域缩放,重置五个工具
B、Echarts标题组件是:title。标题有分为主标题和副标题,而且还可以为标题设置连接,文字属性等等
C、Echarts提示框组件是:tooltip。当鼠标点击或者滑过图表中的点线时,弹出关于这点线的数据信息。
D、Echarts图例组件是:legend。用于展现标记(symbol),颜色和名字。
二、填空题
- Spark的运行模式有local、YARN 和 standalone。
- hadoop 2.x包含三个核心组件:hdfs、mapreduce和yarn
- 云计算服务三层模型是:Saas、Paas和Iaas
- hadoop主要包括Apache Hadoop、Cloudera Hadoop和Hortonworks Hadoop三大版本
- 云计算关键技术包括:虚拟化、分布式存储、分布式计算和多租户
- HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格。
7. 推动大数据发展的技术支撑包括:
1. 存储设备容量不断增加
2. CPU处理能力大幅提升
3. 网络宽带不断增加
4. 数据产生方式的变革
- Hive的集合数据类型 array、map、struct。
- HBase数据模型主要包括表、行、列、列簇、列限定符和行键
- hive的元数据可以存在:derby数据库、mysql数据库
- 常用的数据可视化开发技术有:D3和Echarts
三、简答题
1. 列出你所知道的大数据在不同领域的应用
- 推荐系统
- 生物系统
- 物流管理
- 智能交通
- 城市规划
- 安防领域
- 环保监测
2.试述hbase各功能组件及作用
- 库函数:链接到每个客户端;
- 一个 Master 主服务器:主服务器 Master 主要负责表和 Region 的管理工作;
- 许多个 Region 服务器: Region 服务器是 HBase 中最核心的模块,负责维护分配给自己的 Region ,并响应用户的读写请求
3. Spark是基于内存计算的大数据计算平台,试述 Spark的主要特点。
- 运行速度快
- 容易使用
- 通用性
- 运行模式多样
4. 使用hbase shell命令完成下面操作:
- 创建hbase 表studentInfo,包含一个列族info,版本数为2
- 添加数据studentNo:2017001 name:xxx到列族info中,其中studentNo作为rowkey
- 删除studentInfo表。
(1)create ‘studenInfo’,{NAME => ‘info’, VERSIONS => 2}
(2)put ‘‘studenInfo’’,‘2017001’,‘info:name’,'xxx’
(3)Disable studentInfo
Drop studentInfo
5. 试述数据库的 ACID四性的含义
- 原子性( Atomicity)
指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。
- 一致性( consistency)
指事务在完成时,必须使所有的数据都保持一致状态。
- 隔离性( Isolation)
指并发事务所做的修改必须与其他并发事务所做的修改隔离。
- 持久性( Durability)
指事务完成之后, 它对于系统的影响是永久性的, 该修改即使出现致命的系统故障也将一直保持
6. 写出云数据库具有的特点
(1)动态可扩展(2)高可用性 (3)较低的使用代价
(4)易用性 (5)高性能 (6)免维护 (7)安全
7. 使用hadoop shell查看HDFS上 /1001/data 目录下的所有文件和文件夹,并上传文件info.txt到该文件夹下,上传成功以后删除/1001/data下的所有文件和文件夹。
查看:hdfs dfs -ls /1001/data/
上传:hdfs dfs -put info.txt /1001/data/
删除:hdfs dfs -rm -r /1001/data/
7. hbase表studentInfo有一个列族info,列族中的数据如下:studentNo:2017001,name:zhangsan,banji:1,score:78,请创建hive表student映射hbase数据,并按班级汇总最高分,最低分和平均分插入hive_sum表。
create external table hive_bigdata(id string,name string ,banji string,age int)
stored by ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
with serdeproperties (“hbase.columns.mapping” = “:key,info:name,info:banji,info:score”)
tblproperties (“hbase.table.name” = “studentInfo”);
insert into hbase_sum select banji,avg(score),max(score),min(score) from hive_bigdata group by banji;
7. 试述 HBase 各功能组建及其作用
- 库函数:链接到每个客户端;
- 一个 Master 主服务器:主服务器 Master 主要负责表和 Region 的管理工作;
- 许多个 Region 服务器: Region 服务器是 HBase 中最核心的模块,负责维护分配给自己的 Region ,并响应用户的读写请求
四、编程题
现有搭建完成的hbase完全集群模式环境,hadoop集群和hbase已经启动,已知hbase的zookeeper配置如下:
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop2:2181,hadoop3:2181,hadoop4:2181</value>
<description>The directory shared by RegionServers.
</description>
</property>
请使用java方法补全以下代码:
(1)建立与hbase连接(4 分)
Configuration config = HBaseConfiguration.______;
Connection connect = ConnectionFactory.______;
(2)创建Hbase表studentInfo, 并存入信息(16 分)
//使用conn获取admin
Admin admin = connect.______;
//初始化tableName
TableName tableName = TableName.______;
HTableDescriptor hTableDescriptor = new ______;
HColumnDescriptor hColumnDescriptor = new ______;
hTableDescriptor.______;
//使用admin创建Hbase的表
admin.______;
Put put = new Put(Bytes.toBytes(rowkey));
//数据:cf,qualifier,value 列簇,列限定符,列值
put.addColumn(Bytes.toBytes(cf),Bytes.toBytes(qualifier), Bytes.toBytes(value));
table.______;
//关闭
table.______;
答案:
(1)建立与hbase连接(4 分)
create()//2分
createConnection(config)//2分
(2)创建Hbase表studentInfo, 并存入信息(16 分)
getAdmin()//2分
TableName.valueOf("studentInfo")//2分
HTableDescriptor(tableName)//2分
HColumnDescriptor("info")//2分
addFamily(hColumnDescriptor)//2分
createTable(hTableDescriptor)//2分
put(put)//2分
close()//2分