HBase 笔试题

以下试题是摘自互联网的基础上自己加了选项说明解释便于自己以后看时方便节省时间


  1. HBase来源于哪篇博文? C
    A The Google File System
    B MapReduce
    C BigTable
    D Chubby

  2. 下面对HBase的描述哪些是正确的? B、C、D
    A 不是开源的
    B 是面向列的
    C 是分布式的
    D 是一种NoSQL数据库

  3. HBase依靠()存储底层数据 A
    A HDFS
    B Hadoop
    C Memory
    D MapReduce

  4. HBase依赖()提供消息通信机制 A
    A Zookeeper
    B Chubby
    C RPC
    D Socket

  5. HBase依赖()提供强大的计算能力 D
    A Zookeeper
    B Chubby
    C RPC
    D MapReduce

  6. MapReduce与HBase的关系,哪些描述是正确的? B、C
    A 两者不可或缺,MapReduce是HBase可以正常运行的保证
    B 两者不是强关联关系,没有MapReduce,HBase可以正常运行
    C MapReduce可以直接访问HBase
    D 它们之间没有任何关系

  7. 下面哪些选项正确描述了HBase的特性? A、B、C、D
    A 高可靠性
    B 高性能
    C 面向列
    D可伸缩

  8. 下面与Zookeeper类似的框架是?D
    A Protobuf
    B Java
    C Kafka
    (Kafka是一个高吞吐量分布式消息系统。linkedin开源的kafka。 Kafka就跟这个名字一样,设计非常独特。首先,kafka的开发者们认为不需要在内存里缓存什么数据,操作系统的文件缓存已经足够完善和强大,只要你不搞随机写,顺序读写的性能是非常高效的。kafka的数据只会顺序append,数据的删除策略是累积到一定程度或者超过一定时间再删除。Kafka另一个独特的地方是将消费者信息保存在客户端而不是MQ服务器,这样服务器就不用记录消息的投递过程,每个客户端都自己知道自己下一次应该从什么地方什么位置读取消息,消息的投递过程也是采用客户端主动pull的模型,这样大大减轻了服务器的负担。Kafka还强调减少数据的序列化和拷贝开销,它会将一些消息组织成Message Set做批量存储和发送,并且客户端在pull数据的时候,尽量以zero-copy的方式传输,利用sendfile(对应java里的 FileChannel.transferTo/transferFrom)这样的高级IO函数来减少拷贝开销。可见,kafka是一个精心设计,特定于某些应用的MQ系统,这种偏向特定领域的MQ系统我估计会越来越多,垂直化的产品策略值的考虑)
    D Chubby
    (MapReduce 很多人已经知道了,但关于Chubyy似乎熟悉它的就非常有限,这倒是不奇怪,因为MapReduce是一个针对开发人员的 ProgrammingModel,自然会有很多人去学习它,而Chubby更多的是一种为了实现MapReduce或者Bigtable而构建的内部的 工具,对于开发人员来说基本上是透明的。
    Chubby首先是一个分布式的文件系统。Chubby能够提供机制使得client可以在Chubby service上创建文件和执行一些文件的基本操作。说它是分布式的文件系统,是因为一个Chubby cell是一个分布式的系统,一般包含了5台机器,整个文件系统是部署在这5台机器上的。
    但是,从更高一点的语义层面上,Chubby是一个 lock service,一个针对松耦合的分布式系统的lock service。所谓lock service,就是这个service能够提供开发人员经常用的“锁”,“解锁”功能。通过Chubby,一个分布式系统中的上千个client都能够 对于某项资源进行“加锁”,“解锁”。
    那么,Chubby是怎样实现这样的“锁”功能的?就是通过文件。Chubby中的“锁”就是文件,在上例 中,创建文件其实就是进行“加锁”操作,创建文件成功的那个server其实就是抢占到了“锁”。用户通过打开、关闭和读取文件,获取共享锁或者独占锁; 并且通过通信机制,向用户发送更新信息。
    综上所述,Chubby是一个lock service,通过这个lock service可以解决分布式中的一致性问题,而这个lock service的实现是一个分布式的文件系统。)

  9. 下面与HDFS类似的框架是?C
    A NTFS
    B FAT32
    C GFS(也是分布式文件系统,谷歌自己的分布式文件系统)
    D EXT3

  10. 下面哪些概念是HBase框架中使用的?A、C
    A HDFS
    B GridFS
    C Zookeeper
    D EXT3

第二部分:HBase核心知识点

  1. LSM含义是?A
    A 日志结构合并树(Log-Structured Merge Tree)
    B 二叉树
    C 平衡二叉树
    D 长平衡二叉树

  2. 下面对LSM结构描述正确的是? A、C
    A 顺序存储
    B 直接写硬盘
    C 需要将数据Flush到磁盘
    D 是一种搜索平衡树

  3. LSM更能保证哪种操作的性能?B
    A 读
    B 写
    C 随机读
    D 合并

  4. LSM的读操作和写操作是独立的?A
    A 是。
    B 否。
    C LSM并不区分读和写
    D LSM中读写是同一种操作

  5. LSM结构的数据首先存储在()。 B
    A 硬盘上
    B 内存中
    C 磁盘阵列中
    D 闪存中

  6. HFile数据格式中的Data字段用于()。A
    A 存储实际的KeyValue数据
    B 存储数据的起点
    C 指定字段的长度
    D 存储数据块的起点

  7. HFile数据格式中的MetaIndex字段用于()。D
    A Meta块的长度
    B Meta块的结束点
    C Meta块数据内容
    D Meta块的起始点

  8. HFile数据格式中的Magic字段用于()。A
    A 存储随机数,防止数据损坏
    B 存储数据的起点
    C 存储数据块的起点
    D 指定字段的长度

  9. HFile数据格式中的KeyValue数据格式,下列选项描述正确的是()。A、D
    A 是byte[]数组
    B 没有固定的结构
    C 数据的大小是定长的
    D 有固定的结构

  10. HFile数据格式中的KeyValue数据格式中Value部分是()。C
    A 拥有复杂结构的字符串
    B 字符串
    C 二进制数据
    D 压缩数据

第三部分:HBase高级应用介绍

  1. HBase中的批量加载底层使用()实现。A
    A MapReduce
    B Hive
    C Coprocessor
    D Bloom Filter

  2. HBase性能优化包含下面的哪些选项?A、B、C、D
    A 读优化
    B 写优化
    C 配置优化
    D JVM优化

  3. Rowkey设计的原则,下列哪些选项的描述是正确的?A、B、C
    A 尽量保证越短越好
    B 可以使用汉字
    C 可以使用字符串
    D 本身是无序的

  4. HBase构建二级索引的实现方式有哪些? A、B
    A MapReduce
    B Coprocessor
    (HBase在0.92之后引入了协处理器(coprocessors),实现一些激动人心的新特性:能够轻易建立二次索引、复杂过滤器(谓词下推)以及访问控制等)
    C Bloom Filter
    D Filter

  5. 关于HBase二级索引的描述,哪些是正确的?A、B
    A 核心是倒排表
    B 二级索引概念是对应Rowkey这个“一级”索引
    C 二级索引使用平衡二叉树
    D 二级索引使用LSM结构

  6. 下列关于Bloom Filter的描述正确的是?A、C
    A 是一个很长的二进制向量和一系列随机映射函数
    B 没有误算率
    C 有一定的误算率
    D 可以在Bloom Filter中删除元素

第四部分:HBase安装、部署、启动

  1. HBase官方版本可以安装在什么操作系统上?A、B、C
    A CentOS
    B Ubuntu
    C RedHat
    D Windows

  2. HBase虚拟分布式模式需要()个节点?A
    A 1
    B 2
    C 3
    D 最少3个

  3. HBase分布式模式最好需要()个节点?C
    A 1
    B 2
    C 3
    D 最少

  4. 下列哪些选项是安装HBase前所必须安装的?A、B
    A 操作系统
    B JDK
    C Shell Script
    D Java Code

  5. 解压.tar.gz结尾的HBase压缩包使用的Linux命令是?A
    A tar -zxvf
    B tar -zx
    C tar -s
    D tar -nf

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
4399⼤数据笔试题 今天晚上参加了厦门 今天晚上参加了厦门4399公司的⼤数据笔试,⾃⼰没有拍下题⽬,⼀下是根据⾃⼰在草稿纸上简要记录回忆下 公司的⼤数据笔试,⾃⼰没有拍下题⽬,⼀下是根据⾃⼰在草稿纸上简要记录回忆下 写出来的,具体的选项记不起来,⼤体题⽬在下⾯,欢迎⼤家给出⾃⼰的见解答案 写出来的,具体的选项记不起来,⼤体题⽬在下⾯,欢迎⼤家给出⾃⼰的见解答案 ⼀、选择题 ⼀、选择题 1.四个⼟豪在⼀次聚会中⽐拼财产的逻辑推理题。 A:四个⼈中,B最富。 B:四个⼈中,C最富。 C:我不是最富有的。 D:C⽐我富,A⽐C富。 已知,其中只有⼀个⼈在说假话。 请问:四个⼈中谁最富?从最富到最不富的顺序应该怎么排? 答案:A、B两⼈的答案不同,所以⼀定有⼀个⼈在说谎。也就是说,C和D说的都是实话。所以,C不是最富的,也就是说B说的是假 话。这样可以得到顺序为:B、A、C、D。 2.与HDFS类似的框架有哪些? 3.下⾯哪⼀个程序与NameNode在⼀个节点上启动? A. SecondaryNameNode B. DataNode C. TaskTracker D. JobTracker 答案:A 4.哪个是RDD的窄依赖? 5.HBase的RowKey的设计原则是什么? 6.HBase的存储底层是什么? 答案:HBase中的所有数据⽂件都存储在Hadoop HDFS⽂件系统上,主要包括上述提出的两种⽂件类型: HFile,HBase中KeyValue数据的存储格式,HFile是Hadoop的⼆进制格式⽂件,实际上StoreFile就是对HFile做了轻量级包装, 即StoreFile底层就是HFile HLog File,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File 7.Scala语⾔的闭包描述哪⼀项不是正确的? 8.Kafka⾼吞吐的原因? 答案: 顺序读写磁盘,充分利⽤了操作系统的预读机制。 linux中使⽤sendfile命令,减少⼀次数据拷贝,如下: 把数据从硬盘读取到内核中的页缓存。 把数据从内核中读取到⽤户空间。(sendfile命令将跳过此步骤) 把⽤户空间中的数据写到socket缓冲区中。 操作系统将数据从socket缓冲区中复制到⽹卡缓冲区,以便将数据经⽹络发出 ⽣产者客户端缓存消息批量发送,消费者批量从broker获取消息,减少⽹络io次数,充分利⽤磁盘顺序读写的性能。 通常情况下kafka的瓶颈不是cpu或者磁盘,⽽是⽹络带宽,所以⽣产者可以对数据进⾏压缩。 9.ZooKeeper的⾓⾊是什么? 答案: Leader ⾓⾊ Leader 服务器是整个zookeeper 集群的核⼼,主要的⼯作任务有两项: 事物请求的唯⼀调度和处理者,保证集群事物处理的顺序性。 集群内部各服务器的调度者。 Follower ⾓⾊ Follower ⾓⾊的主要职责是: 处理客户端⾮事物请求、转发事物请求给leader服务器。 参与事物请求Proposal的投票(Leader发起的提案,要求 Follower投票,需要半数以上follower节点通过,leader才会 commit数据)。 参与Leader选举的投票。 Observer ⾓⾊ Observer 是 zookeeper3.3 开始引⼊的⼀个全新的服务器⾓⾊,从字⾯来理解,该⾓⾊充当了观察者的⾓⾊。观察 zookeeper 集群中的最新状态变化并将这些状态变化同步到 observer 服务器上。Observer 的⼯作原理与 follower ⾓⾊基本⼀致,⽽它 和 follower ⾓⾊唯⼀的不同在于 observer 不参与任何形式的投票,包括事务请求Proposal的投票和leader选举的投票。简单来 说,observer服务器只提供⾮事物请求服务,通常在于不影响集群事务处理能⼒的前提下提升集群⾮事物处理的能⼒。 10.Spark Stage的数量有什么决定? 答案:Partition ⼆、填空题 ⼆、填空题 1.Spark的三种部署模式? 2.RDD有哪些缓存机制? 3.RDD类型有⼏种?每⼀种有哪些操作? 4.map和flatMap的区别是什么? 5.RDD的依赖⽅式? 6.有存储在Hive上的⼀张pay_log表 ser_name pay_money pay_date 1)使⽤SQL语句查询消费总额、消费总次数、消费最⼤的⾦额、消费最⼤的⾦额 2)使⽤SQL语句每⼀天当天消费的总⾦额 3)使⽤SQL语句对消费⾦额进⾏排名(⽤rank()) 4)使⽤SQL语句查询充值⾦额集合(⽤collect_set()) 7.HDFS block的默认值是多少?机架感知配置下分别存放在什么位置? 8

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值