HBase相关问题
HBase和Hive的异同之处?
共同点:HBase与Hive都是架构在Hadoop之上,底层存储都是使用HDFS
区别:
1). Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统。HBase是为了支持弥补Hadoop对实时操作的缺陷的项目。
2). hive是高延迟、结构化和面向分析的,hbase是低延迟、非结构化和面向编程
2). Hive的表是逻辑表,它本身不存储和计算数据,它完全依赖于HDFS和MapReduce,高延迟的特点。
3). HBase的表是物理表,hdfs作为底层存储,而HBase负责组织文件。 提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
HBase和RDBMS的异同之处?
1.数据类型:HBase只有简单的字符串类型(压缩率高),所有的类型都是交由用户自己处理。而RDBMS有丰富的类型和存储方式。
2.数据操作:HBase只有很简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系。而RDBMS通常有各式各样的函数和连接操作。
3.存储模式:HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的。而RDBMS是基于表格结构和行模式保存的 。
4.数据维护:HBase的更新操作不应该叫更新,它实际上是追加新的数据。而RDBMS是替换修改。
5.可伸缩性:Hbase这类分布式数据库就是为了这个目的而开发出来的,所以它能够轻松增加或减少硬件的数量,并且对错误的兼容性比较高。而RDBMS通常需要增加中间层才能实现类似的功能。
Hbase的优缺点
1. HBase列可以动态增加,并且列为空就不存储数据,节省存储空间。
2. Hbase自动切分数据,使得数据存储自动具有水平Scalability。
3. Hbase可以提供基于RowKey的高并发读写操作。
缺点: 不能支持条件查询,只支持按照Row key来查询.
什么时候选择HBase
1).超大数据量上高并发操作,高速插入,大量读取
2).记录非常稀疏
3).多版本数据
4).对于数据结构中字段不够确定或杂乱无章,很难按一个概念去进行抽取的数据适合用HBase。
HBase容错性
Master容错:Zookeeper重新选择一个新的Master
1).无Master过程中,数据读取仍照常进行;
2).无master过程中,region切分、负载均衡等无法进行;
RegionServer容错:定时向Zookeeper汇报心跳,如果一旦时间内未出现心跳
1).Master将该RegionServer上的Region重新分配到其他RegionServer上;
2).失效服务器上“预写”HLog日志由主服务器进行分割并派送给新的RegionServer
Zookeeper容错:Zookeeper是一个可靠地服务
1).一般配置3或5个Zookeeper实例。
HBase的Delete机理
Delete命令并不立即删除内容。实际上,它只是给记录打上删除的标记“墓碑”(tombstone)。墓碑记录不能在Get和Scan命令中返回结果。因为HFile是只读文件,这些墓碑记录直到执行一次大合并(major compaction)才会被删除。 详见HBase相关概念
HBase相关问题的更多相关文章
- HBase相关的一些点
1.在运行Hbase时,如果遇到出错之后: 可以通过{HBASE_HOME}目录,我的是在/usr/soft/hbase下的logs子目录中的日志文件查看错误原因.2.启动关闭Hadoop和HBase ...
- Spark-读写HBase,SparkStreaming操作,Spark的HBase相关操作
Spark-读写HBase,SparkStreaming操作,Spark的HBase相关操作 1.sparkstreaming实时写入Hbase(saveAsNewAPIHadoopDataset方法 ...
- HBase相关
hadoop和hbase节点添加和单独重启 有时候hadoop或hbase集群运行时间久了后,某些节点就会失效,这个时候如果不想重启整个集群(这种情况在很多情况下已经不被允许),这个时候可以单独重启失 ...
- HBase 相关API操练(三):MapReduce操作HBase
MapReduce 操作 HBase 在 HBase 系统上运行批处理运算,最方便和实用的模型依然是 MapReduce,如下图所示. HBase Table 和 Region 的关系类似 HDFS ...
- HBase 相关API操练(一):Shell操作
HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”. HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建. ...
- 暑假第五周总结(学习HBASE相关知识)
本周主要对HBASE的相关知识进行了学习,主要是通过视频的讲解了解到了HBASE的存储机制,HBASE的机制与普通的关系型数据库完全不同,HBASE以列进行存储,其主要执行的就是增删查操作,其更改主要 ...
- 大数据Hbase相关运维题
1.启动先电大数据平台的 Hbase 数据库,其中要求使用 master 节点的RegionServer.在 Linux Shell 中启动 Hbase shell,查看 HBase 的版本信息.(相 ...
- HBase篇--HBase操作Api和Java操作Hbase相关Api
一.前述. Hbase shell启动命令窗口,然后再Hbase shell中对应的api命令如下. 二.说明 Hbase shell中删除键是空格+Ctrl键. 三.代码 1.封装所有的API pa ...
- hbase 相关
----------------------------------------hbase的 安装---------------------------------------- 本地安装: 1 解压 ...
随机推荐
- 读取properties文件------servletcontext及dao层读取
用servletcontext读取properties文件-------1) 重点在于:InputStream in=this.getServletContext().getResourceAsStr ...
- Caused by: java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@d7c365, see the next exception for details.
解决方法:https://stackoverflow.com/questions/37442910/spark-shell-startup-errors 异常: 18/01/29 19:04:27 W ...
- Reference counted objects
Reference counted objects · netty/netty Wiki https://github.com/netty/netty/wiki/Reference-counted-o ...
- Spatial convolution
小结: 1.卷积广泛存在与物理设备.计算机程序的smoothing平滑.sharpening锐化过程: 空间卷积可应用在图像处理中:函数f(原图像)经过滤器函数g形成新函数f-g(平滑化或锐利化的新图 ...
- Python 线程(threading)
Python 的thread模块是比较底层的模块,Python的threading模块是对thread做了一些包装,可以更加方便的 被使用; 1. 使用threading 模块 # 示例一: 单线程执 ...
- 关于编译openjdk过程的一个编码错误
-Xlint:deprecation 重新编译 或者 错误: 编码ascii的不可映射字符 出现这种错误的时候 可以进行设置jdk编译编码即可解决 因为是编译openjdk 所以在环境变量中设置: ...
- 读取xml文件,写入excel
在上一篇 Python写xml文件已经将所有订单写入xml文件,这一篇我们把xml文件中的内容读出来,写入excel文件. 输入xml格式: <?xml version="1.0&qu ...
- MYSQL中,CAST函数的使用规则
CAST函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型可以为: CHAR[(N)] 字符型 DATE 日期型DATETIME 日期和时间型DECIMAL float型SIGNED i ...
- 20165324《Java程序设计》第七周
20165324<Java程序设计>第七周 教材学习内容总结 第11章 JDBC与MySOLz数据库 MySQL数据库管理系统,简称MySQL. 使用步骤: 启动MySQL数据库服务 器建 ...
- Mediakit报告设备商的空间不足以执行此操作的纯MAC解法
使用Mac对磁盘进行分区,显示“Mediakit报告设备商的空间不足以执行此操作”,该怎么办? What 买了一个4TB的移动硬盘,准备进行分区给Time Machine用. 硬盘自带是HDFS的,所 ...