HBase
HBaseAPI 的调用
睡覺了
我现在能做的,便是以一段拙劣的文字来祭奠我那段流逝的岁月
展开
-
Hbase 操作二
hbase表操作1.创建表create tablename cf(列族)2.展示所有表list3.插入数据put tablename rowkey cf(列族):cname(列名),值4.查询指定rowkey数据get tablename rowkey5.查询所有数据scan tablename6.手动强制溢写flush tablename7.查看文件数据hbase hfile -p -f file:///home/testuser/hbase/data/default/tbl/regions原创 2020-08-07 11:05:34 · 278 阅读 · 0 评论 -
Hbase数据库操作命令
HBase的使用1、自带了shell命令行$ bin/hbase shell2、输入help获取帮助信息3、shell命令行的删除,需要按住ctrl+删除键才可以删除4、list列出当前数据库中的表5、list_namespace列出当前数据库中的所有namespaceHBase的DDL操作1、创建namespace-》查看帮助信息,找到创建的语法格式:help 'create_namespace',注意要加上引号create_namespace 'nstest'2、描..原创 2020-08-06 17:34:06 · 1407 阅读 · 0 评论 -
Hbase_MR集成_2
package HBASEMR12;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.原创 2020-08-06 14:27:17 · 259 阅读 · 0 评论 -
Hbase 数据找回
Write-Ahead logs原创 2020-07-29 14:57:55 · 261 阅读 · 0 评论 -
Review Hbase记忆
1.HBase的基本介绍 a.Hbase是建立在hdfs之上的一个数据库,b.不支持join等SQL复杂操作c.支持的数据类型:byte[],d.依靠横向扩展,一个表可以有上十亿行,上百万列。e.面向列(族)的存储和权限控制f.对于为空(null)的列,并不占用存储空间,是一个稀疏表。2.HBASE的适用场景 海量数据、精确查询、快速返回海量数据:指...原创 2020-04-12 11:12:54 · 7871 阅读 · 1 评论 -
Review HBase
hbase 的安装部署1、软件包上传解压2、 配置hbase.env.sh配置java_home使用外部zookeeper(自己独立安装的zookeeper)3、配置 hbase-site.xml见讲义hbase.zookeeper.property.dataDir必须是zookeeper存储数据的路径4、修改regionservers5、创建backup-masters6、...原创 2020-04-12 11:13:10 · 8674 阅读 · 7 评论 -
HBase 记忆内容(简答题)
1.HBase的基本介绍 a.Hbase是建立在hdfs之上的一个数据库,b.不支持join等SQL复杂操作c.支持的数据类型:byte[],d.依靠横向扩展,一个表可以有上十亿行,上百万列。e.面向列(族)的存储和权限控制f.对于为空(null)的列,并不占用存储空间,是一个稀疏表。2.HBASE的适用场景 海量数据、精确查询、快速返回海量数据:指...原创 2020-01-09 17:08:36 · 7416 阅读 · 0 评论 -
Hbase 常用语句
查询前几条数据scan 'hbase_rate',{LIMIT=>5}查询表的总条数count 'hbase_rate'通过rowkey进行查询hbase(main):015:0> get 'hbase_rate', 'zyWxaFwUR2Q'删除表首先需要先让该表为disable状态,使用命令:hbase(main):049:0> di...原创 2020-01-03 16:41:45 · 8543 阅读 · 0 评论 -
HBase与Hive的整合
HBase与Hive的整合hive与我们的HBase各有千秋,各自有着不同的功能,但是归根接地,hive与hbase的数据最终都是存储在hdfs上面的,一般的我们为了存储磁盘的空间,不会将一份数据存储到多个地方,导致磁盘空间的浪费,我们可以直接将数据存入hbase,然后通过hive整合hbase直接使用sql语句分析hbase里面的数据即可,非常方便需求一:将Hive分...原创 2019-12-21 23:11:20 · 8906 阅读 · 0 评论 -
HBase与Hive的对比
Hive数据仓库Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高基于HDFS、MapReduceHive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行。(不要钻不需要执行MapReduce代码的情况的...原创 2019-12-21 22:56:14 · 8365 阅读 · 0 评论 -
HBase与MapReduce的集成(通过bulkload的方式批量加载数据到HBase当中去)
加载数据到HBase当中去的方式多种多样,我们可以使用HBase的javaAPI或者使用sqoop将我们的数据写入或者导入到HBase当中去,但是这些方式不是慢就是在导入的过程的占用Region资料导致效率低下,我们也可以通过MR的程序,将我们的数据直接转换成HBase的最终存储格式HFile,然后直接load数据到HBase当中去即可HFileHBase 中每张...原创 2019-12-20 09:01:38 · 9431 阅读 · 0 评论 -
HBase与MapReduce的集成(读取HBase的表数据,将数据写入到HDFS 上)
第一步:创建maven工程,导入pom 文件<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/&...原创 2019-12-20 08:49:49 · 9228 阅读 · 0 评论 -
HBase与MapReduce的集成(读取HDFS文件,写入到HBase表当中去)
需求:读取HDFS文件,写入到HBase表当中去读取hdfs路径/hbase/input/user.txt内容如下0007 zhangsan 180008 lisi 250009 wangwu 20第一步:准备数据文件准备数据文件,并将数据文件上传到HDFS上面去hadoop fs -mkdir -p /hbase/inp...原创 2019-12-20 08:40:29 · 6988 阅读 · 0 评论 -
HBase与MapReduce的集成(读取myuser这张表当中的数据写入到HBase的另外一张表当中去)
需求:读取HBase当中一张表的数据,然后将数据写入到HBase当中的另外一张表当中去。注意:我们可以使用TableMapper与TableReducer来实现从HBase当中读取与写入数据这里我们将myuser这张表当中f1列族的name和age字段写入到myuser2这张表的f1列族当中去第一步:创建myuser2这张表注意:列族的名字要与myuser表的列族名字相同h...原创 2019-12-20 08:30:28 · 8075 阅读 · 0 评论 -
HBase的java代码开发(删除数据表)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-19 14:28:56 · 7337 阅读 · 0 评论 -
HBase的java代码开发(删除一行数据)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-19 14:28:53 · 7219 阅读 · 0 评论 -
HBase的java代码开发(单列过滤 SingleColumnValueFilter)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-19 14:28:42 · 7723 阅读 · 0 评论 -
HBase的java代码开发(列值过滤器ValueFilter)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-18 20:12:31 · 8207 阅读 · 0 评论 -
HBase的java代码开发(获取name这个列)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-18 20:10:42 · 7487 阅读 · 0 评论 -
HBase的java代码开发(列族小于F2)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-18 20:08:31 · 7029 阅读 · 0 评论 -
HBase的java代码开发(rowkey小于005)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-18 20:04:55 · 7175 阅读 · 0 评论 -
HBase的java代码开发(通过scan进行全表扫描)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-18 11:31:46 · 11384 阅读 · 0 评论 -
HBase的java代码开发(通过startRowKey和endRowKey进行扫描)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-18 11:29:24 · 8507 阅读 · 0 评论 -
HBase的java代码开发(按照rowkey查询指定列族下面的指定列的值)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-18 11:00:16 · 9225 阅读 · 0 评论 -
HBase的java代码开发(按照rowkey进行查询获取所有列的所有值)
查询主键rowkey为0003的人第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repo...原创 2019-12-18 08:21:12 · 9480 阅读 · 0 评论 -
HBase的java代码开发(表中查询数据)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-17 18:19:40 · 7349 阅读 · 0 评论 -
HBase的java代码开发(向表中添加数据)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> ...原创 2019-12-17 18:15:27 · 7263 阅读 · 0 评论 -
HBase的java代码开发(创建表)
第一步:创建maven工程,导入jar包<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>...原创 2019-12-17 18:10:48 · 7376 阅读 · 0 评论 -
HBase rowKey 设计技巧
rowKey属性,最大64K,按照字典序排序,可以自定义hbase数据的获取方式1、通过rowkey直接查找2、通过startkey endkey 范围查找3、全表扫描1 rowkey长度原则最大64K,建议越短越好(在保证业务需求的前提下),不要超过16个字节.2 rowkey散列原则建议将rowkey的高位(左边)作为散列字段, 低位(右边)放时间字段,这样将提...原创 2019-12-17 18:06:29 · 9798 阅读 · 0 评论 -
HBase 预分区
与分区的好处(优点):* 增加数据读写效率 : 数据分布在多台regionserver节点* 负载均衡,防止数据倾斜 : 当数据时离散的发送时,预分区可以解决数据倾斜* 方便集群容灾调度region : 分布在多个节点便于调度* 优化Map数量 :原本数据分区(分region)的过程:一个数据表原本只有一个region(分区),随着数据量的增加,region慢慢变大,达到10G...原创 2019-12-17 18:05:13 · 8554 阅读 · 0 评论 -
HBase的表数据模型
Row Key最大长度是 64KB,完全可以自行设计。Hbase会对表中的数据按照rowkey排序(字典序)row的设计是最有技术含量的工作列族Column Family列族是表的schema的一部分,而列不是。(schema包含表名和列族)每个列都所属于某一个列族。一个列族可以包含多个列。一个列族与列的关系是一对多。列 Column列族下面的具体列。时间戳标...原创 2019-12-17 18:03:40 · 10026 阅读 · 0 评论 -
HBase架构
1、Client2 ZOOKEEPER3 Master 管理者4 Regionserver 工作者详细架构Client:访问数据的入口,包含访问hbase的API接口,维护着一些cache来加快对hbase的访问Zookeeper:1 zookeeper的选举机制保证任何时候,集群中只有一个master2 实时监控Region Server的状态,将Reg...原创 2019-12-17 17:58:22 · 10087 阅读 · 0 评论 -
Hbase特征简要说明
1、 海量存储Hbase适合存储PB级别的海量数据,在几十到百毫秒内返回数据。2、列式存储这里的列式存储其实说的是列族存储列族理论上可以很多,但实际上建议不要超过6个3、 极易扩展处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)hbase在最初设计的时候就考虑了扩展性。4、高并发这里说的高并发,主要是在并发的情况下,Hbase的单个IO延迟下降并不多...原创 2019-12-17 17:56:31 · 7505 阅读 · 0 评论 -
HBase的介绍
Hbase 是建立在hdfs之上的一个数据库,不支持join等SQL复杂操作.支持的数据类型:byte[],依靠横向扩展一个表可以有上十亿行,上百万列。面向列(族)的存储和权限控制对于为空(null)的列,并不占用存储空间,是一个稀疏表。对 HBase稀疏表 的理解HBASE的适用场景海量数据、精确查询、快速返回海量数据:指的是数据量的背景精确查...原创 2019-12-17 17:55:13 · 8626 阅读 · 0 评论 -
HBase 知识点总结
1.HBase的基本介绍 a.Hbase是建立在hdfs之上的一个数据库,b.不支持join等SQL复杂操作c.支持的数据类型:byte[],d.依靠横向扩展,一个表可以有上十亿行,上百万列。e.面向列(族)的存储和权限控制f.对于为空(null)的列,并不占用存储空间,是一个稀疏表。g.高并发,这里说的高并发,主要是在并发的情况下,Hbase的单个IO延迟下降并不多...原创 2019-12-16 17:24:24 · 8150 阅读 · 2 评论 -
HBase 机制(三个重要机制)
1、================== flush机制 =======================1.(hbase.regionserver.global.memstore.size)默认;堆大小的40%regionServer的全局memstore的大小,超过该大小会触发flush到磁盘的操作,默认是堆大小的40%,而且regionserver级别的flush会阻塞客户端...原创 2019-12-13 08:09:33 · 6593 阅读 · 0 评论 -
HBase 底层原理(读写过程)
=======================读写过程=======================1、读请求过程:HRegionServer保存着meta表以及表数据,要访问表数据,首先Client先去访问zookeeper,从zookeeper里面获取meta表所在的位置信息,即找到这个meta表在哪个HRegionServer上保存着。接着Client通过刚才获...原创 2019-12-12 11:33:20 · 7110 阅读 · 0 评论 -
HBase 底层原理(物理存储)
======================物理 存储======================整体 结构1 Table中的所有行都按照row key的字典序排列。2 Table 在行的方向上分割为多个Hregion。3 region按大小分割的(默认10G),每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阈值的时候,Hre...原创 2019-12-12 11:29:19 · 7054 阅读 · 0 评论 -
HBase 底层原理(系统架构)
=======================系统 架构=======================Client1 包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如regione的位置信息。 Zookeeper1 保证任何时候,集群中只有一个master2 存贮所有Region的寻址入口3 实时监控Region Server的状...原创 2019-12-12 11:28:23 · 6753 阅读 · 0 评论 -
HBase 高级shell 管理命令
1、status例如:显示服务器状态hbase(main):058:0> status 'node01'2、whoami显示HBase当前用户,例如:hbase> whoami3、list显示当前所有的表4、count统计指定表的记录数,例如:hbase> count 'user' 5、describe展示表结构信息6、exi...原创 2019-12-12 10:55:19 · 6275 阅读 · 0 评论