
Hbase
Hadoop生态系统之Hbase分布式列式数据库
HoneyYHQ9988
如果你想走得快,就要一个人走;你想走得久、走得远,要一群人一起走。
展开
-
Hbase之phoenix二级索引
二级索引这个特性应该是大部分用户引入Phoenix主要考虑的因素之一。HBase因其历史原因只支持rowkey索引,当使用rowkey来查询数据时可以很快定位到数据位置。现实中,业务查询需求条件往往比较复杂,带有多个查询字段组合,如果用HBase查的话,只能全表扫描进行过滤,效率很低。而Phoenix支持除rowkey外的其它字段的索引创建,即二级索引,查询效率可大幅提升。...原创 2020-07-17 23:37:32 · 636 阅读 · 0 评论 -
Hbase数据热点问题
问题描述默认情况下,在创建 HBase 表的时候会自动创建一个 region 分区,当写入数据的时候,所有的 HBase 客户端都向这一个 region 写数据,直到这个 region 足够大了才进行切分。当region中有一个region的读写并发很高,其他的region相对来说读写少,造成数据热点。原因如下:(1)新建表的时候没有提前创建分区,只有默认一个region,只往一个region写数据,无法发挥集群写的优点。(2)默认Rowkey是递增的,且只用到一个regionserver,然后所有的原创 2020-07-17 11:18:49 · 588 阅读 · 0 评论 -
phoenix查询超时
由于数据量增大,phoenix查询超时Error: Operation timed out. (state=TIM01,code=6000)java.sql.SQLTimeoutException: Operation timed out.调整下HBase RPC Timeout 和 Phoenix Query Timeout时间原创 2020-07-13 17:22:19 · 2531 阅读 · 0 评论 -
Hbase的SQL中间件Phoenix
前面介绍了Hbase,知道了hbase有很多的优点,但是使用起来是不是感觉不得劲,为什么呢?因为不能使用我们大家所熟悉的SQL语言进行数据的读写,并且在Java项目中使用的是Hbase提供的API操作数据,不能使用JDBC进行数据库连接操作,使用起来很不方便。当然,只要有问题,就总有热心的大神去解决问题-Phoenix诞生了。什么是Phoenix...原创 2020-03-03 23:42:09 · 490 阅读 · 0 评论 -
分布式列存储数据库Hbase常用命令
这里给出经常用到的一些Hbase命令ahbase shell --连接ctrl+back --删除错误输入字符version --查看版本status --查看hbase服务运行状态list --列出所有表list_namespace --列出命名空间create_namespace '空间名' --创建命名空间drop_namespace '空间名' --删...原创 2020-02-24 09:23:24 · 503 阅读 · 0 评论 -
分布式列存储数据库Hbase读写流程
这里先大概记录下Hbase数据的读写交互流程,后面研究了Hbase源码有了深入体会再继续叙述详细的读写原理实现。读数据流程HBase读数据是比写数据更加复杂的操作流程,这主要基于两个方面的原因:其一是因为整个HBase存储引擎基于LSM-Like树实现,因此一次范围查询可能会涉及多个分片、多块缓存甚至多个数据存储文件;其二是因为HBase中更新操作以及删除操作实现都很简单,更新操作并没有更新原...原创 2020-02-24 00:20:49 · 663 阅读 · 0 评论 -
分布式列存储数据库Hbase简述
Hadoop 可以通过 HDFS 来存储结构化、半结构甚至非结构化的数据,它是传统数据库的补充,是海量数据存储的最佳方法,它针对大文件的存储,批量访问和流式访问都做了优化,同时也通过多副本解决了容灾问题。但是 Hadoop 的缺陷在于它只能执行批处理,并且只能以顺序方式访问数据,这意味着即使是最简单的工作,也必须搜索整个数据集,无法实现对数据的随机访...原创 2020-02-24 00:18:37 · 1566 阅读 · 0 评论