合 大数据之HBase面试题
介绍
HBase 是一个面向列的非关系型数据库管理系统,在 Hadoop 分布式文件系统 (HDFS) 上运行。HBase 提供了一种存储稀疏数据集的容错方式,这在几个大数据用例中很普遍。它非常适合实时数据处理或对大数据量的随机读/写访问。与 SQL 等关系数据库相比,HBase 不提供该数据库提供的结构化查询语言。
来源:hbase.apache.org
HBase 是一种类似于 Google 的“大表”的数据模型,可以轻松快速地获取大量结构化数据。它包含一组以键值格式存储数据的表。程序员可以在任何他们想要的编程语言中使用 Hbase 的 API。可以使用 Hadoop 生态系统的这个元素实时读取和写入 Hadoop 文件系统中的数据。
无论是直接还是通过 HBase,数据都可以存储在 HDFS 中。数据消费者使用 HBase 随机读取/访问 HDFS 数据。对 Hadoop 文件系统的读写访问由 HBase 提供。
特征
- 可以随时将任意数量的列添加到水平可伸缩性。
- 多维排序映射以分布式方式通过行键、列键和时间戳进行索引。
- 在系统发生故障的情况下,管理员可以使用自动故障转移将数据处理自动转换到备用系统。
- 建立在 Hadoop 分布式文件系统之上,每个命令和 Java 代码在内部实现 Map/Reduce 以完成操作。
- 通常称为键值存储、面向列族的数据库或用于存储地图的版本化地图。
- 它基本上是一个用于存储和检索随机访问数据的系统。
- 它不强加数据元素之间的关系。
- 它旨在在基于商品硬件的计算机集群上运行。
面试问题
1. Apache HBase 的目的是什么?
当需要对大数据进行随机、实时的读/写访问时,使用 Apache HBase。该项目的目标是在商用硬件集群上托管具有数十亿行和数百万列的表。Apache HBase 是一个分布式、版本化、非关系型、开源数据库,灵感来自 Google 的 Bigtable:Chang 等人的结构化数据的分布式存储系统。Apache HBase 在 Hadoop 和 HDFS 之上提供类似于 Bigtable 的功能,就像 Bigtable 利用 Google 文件系统提供的分布式数据存储一样。