HBase的表结构 HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族/列簇(column family)。...实际应用中,列族上的控制权限能帮助我们管理不同类型的应用:我们允许一些应用可以添加新的基本数据、一些应用可以读取基本数据并创建继承的列族、一些应用则只允许浏览数据(甚至可能因为隐私的原因不能浏览所有数据...HBase shell的基本用法 hbase提供了一个shell的终端给用户交互。通过执行 help get 可以看到命令的帮助信息。 以网上的一个学生成绩表的例子来演示hbase的用法。... timestamp=1316099975625, value=5 3 row(s) in 0.0480 seconds (11) 查看scores表中所有数据 注意:scan命令可以指定...s) in 1.0840 seconds 总结下,hbase shell常用的操作命令有create,describe,disable,drop,list,scan,put,get,delete,deleteall
因为HDFS默认的复制数量是3,再加上一个NameNode Hbase架构 Hbase是三层架构体系。...那么Hbase检索一条数据的流程应该是这样的: 存储结构 Hbase 是一种专门为半结构化数据和水平扩展性设计的数据库。...同时它也是无类型数据库,所有数据都是按二进制字节方式存储的,对 Hbase 的操作和访问有 5 个基本方式,即 Get、Put、Delete 和 Scan 以及 Increment。...,会开始 flush 到磁盘(即 Hadoop 的 HDFS 上)的操作 HLog之WAL(write ahead log)机制 WAL(Write-Ahead Logging)是一种高效的日志算法,基本原理是在数据写入之前首先顺序写入日志...Hbase设计与开发实战 HBase写入流程解析
概览 Apache HBase™是Hadoop数据库,一个分布式、可扩展的大数据存储。 当您需要对大数据进行随机、实时的读写访问时,请使用Apache HBase™。...Apache HBase是一个开源的、分布式的、版本化的、非关系型的数据库,它模仿了Chang等人的谷歌的Bigtable: A distributed Storage System for Structured...正如Bigtable利用了谷歌文件系统提供的分布式数据存储,Apache HBase在Hadoop和HDFS上提供了类似Bigtable的功能。 基本特性 线性和模块化的可伸缩性。 严格一致的读写。...方便的基类支持Hadoop MapReduce作业与Apache HBase表。 易于使用Java API进行客户端访问。 实时查询的块缓存和Bloom过滤器。
每张表至少要有一个列簇,因此我们创建了info,现在,看看我们的表,执行下面list命令: list ? 通过describe命令得到表的更多信息: ?...Describe命令返回表的详细信息,包括列簇的列表,这里我们创建的仅有一个:info,现在为表添加以下数据,下面命令是在info中添加新的行: put 'PageViews', 'rowkey1',...'info:page', '/mypage' Put命令插入一条行键为rowkey1的新纪录,指定在info下的page列,插入值为/mypage的记录,我们随后可以通过get命令通过行键rowkey1...我们不能查询本身,但是我们可以对表进行scan操作,如果你执行scan table命令,它会返回表中所有行,这很有可能不是你想要做的。
数人之道原创文章,转载请关注本公众号联系我们 HBase Shell 命令文章大纲 HBase 数据库默认的客户端程序是 HBase Shell,它是一个封装了 Java 客户端 API 的 JRuby...用户可以在 HBase 的 HMaster 主机上通过命令行输入 hbase shell,即可进入 HBase 命令行环境,以命令行的方式与 HBase 进行交互。...使用 quit 或 exit 命令可退出 HBase 命令行环境。 [hadoop@hadoop100 ~]$ hbase shell 下面介绍部分常用的 HBase Shell 操作命令。...1 HBase Shell 数据操作命令 这部分命令主要涉及对 HBase 的命名空间、表及数据的增删改查操作。...2 HBase Shell 管理命令 这部分命令主要涉及部分常用的对 HBase 管理的操作。 2.1 服务器管理 2.1.1.
hbase shell group (12个命令组) general、dll、dml、tools、replication、snapshots、configuration、quotas、procedures
vim /etc/profile 添加环境变量: export HBASE_HOME=/usr/app/hbase-2.1.4 export PATH=$HBASE_HOME/bin:$PATH 使得配置的环境变量生效...2.4 启动HBase 由于已经将 HBase 的 bin 目录配置到环境变量,直接使用以下命令启动: # start-hbase.sh 2.5 验证启动是否成功 验证方式一 :使用 jps 命令查看...vim /etc/profile 添加环境变量: export HBASE_HOME=/usr/app/hbase-1.2.0-cdh5.15.2 export PATH=$HBASE_HOME/bin...--指定 HBase 数据存储路径为 HDFS 上的 hbase 目录,hbase 目录不需要预先创建,程序会自动创建--> hbase.rootdir...3.7 验证启动是否成功 验证方式一 :使用 jps 命令查看进程。
4.2.1 启动HBase Shell HBase的shell其实JRuby的IRB(交互式的Ruby),但在其中添加了一些HBase的命令。...4.4.2 get命令 在HBase中,可以使用get命令来获取单独的一行数据。...4.6.1.2 delete命令 在HBase中,可以使用delete命令来将一个单元格的数据删除。语法格式如下: delete '表名', 'rowkey', '列蔟:列'。...4.8 计数操作 4.8.1 需求 查看HBase中的ORDER_INFO表,一共有多少条记录。 4.8.2 count命令 count命令专门用来统计一个表中有多少条数据。...中,如果要对海量的数据来进行查询,此时基本的操作是比较无力的。
一.概述 HBase 是一个构建在 Hadoop 文件系统之上的面向列的数据库管理系统。 要想明白为什么产生 HBase,就需要先了解一下 Hadoop 存在的限制?...基本概念 RowKey(行键) 相当于RDBMS中的主键 创建表时不需要指定行键,添加数据时指定 Column Family(列族) 创建表时需要指定列族,理论上列族的数量不受限制,实际开发中 建议不超过三个...行键+列族+列+时间戳 每一条数据都在这个单元中 默认只获取最后一个版本的数据 namespace(名称空间) 相当于RDBMS中的数据库 建表时如果不指定名称空间则使用默认的defult名称空间 基本命令...#查看person名称空间下的表 list_namespace_tables 'person' #删除person名称空间(要求person名称空间为空) drop_namespace person 基本理论...也具备副本策略 HMaster HBase也是主从结构 HBase的主节点叫做HMaster HMaster中管理这HBase的元数据 HMaster不存在单点故障,是因为可以在任意一个节点上利用 sh
HBase 提供了一个非常方便的命令行交互工具 HBase Shell。...HBase Shell 用法: 确保用 HBase Shell 对所有名称使用双引号,例如表名和列名。 逗号分隔命令参数。 在输入要运行的命令之后,键入。...连接HBase Shell 通过使用以下命令,我们可以通过 Shell 连接到正在运行的 HBase: ....常规命令 在 Hbase 中,有如下常规命令: status version whoami 2.1 status 可以使用 status 命令展示 HBase 集群的系统状态的详细,例如服务器数量:...该命令是 HBase 数据查询命令中最复杂的命令,需要特别注意查询的数据量,以免由于扫描数据过大导致 HBase 集群出现响应延迟: hbase(main):042:0> scan 'ns1:t1'
[喵咪大数据]Hbase搭建和基本使用 说完了Hive我们接着来看另外一个建立在Hadoop基础上的存储引擎HBase,HBase以内存作为缓存数据落地到HDFS的Key-Value数据库,因为使用内存缓存极大保障了数据的实时性和实时查询能力...附上: Hbase官网:Apache HBase – Apache HBase™ Home 喵了个咪的博客:w-blog.cn 1....> vim /etc/profile # hbase export HBASE_HOME=/usr/local/hbase-1.3.1 export PATH=$HBASE_HOME/bin:$PATH...Hbase管理界面 http://hadoop-1:16010 3.基本操作 通过如下命令可以进入Hbase的shell操作界面 hbase shell hbase(main):001:0> 一般操作...也有了一定的了解,HBase在集群模式下能够带来更大的性能和容量优势,但是HBase在统计汇总能力比较弱,下节将介绍HBase和Hive互相结合集成Hive的结构化方便查询统计优点也结合HBase速度的优势
Thrift API等接口 查询优化,采用Block Cache 和 布隆过滤器来支持海量数据的快速查找 与RDBMS的区别 对于传统 RDBMS 来说,支持 ACID 事务是数据库的基本能力...mkdir -p /opt/local mv hbase-2.1.5/opt/local/hbase 配置HBase执行命令路径: export HBASE_HOME=/opt/local/hbase...四、基本使用 打开HBase Shell hbase shell 执行status命令 Version2.1.5, r76ab087819fe82ccf6f531096e18ad1bed079651,...BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 2 row(s) in0.0870 seconds 写入数据 通过下面的命令.../local/hbase/temp export HBASE_OPTS="-XX:+UseConcMarkSweepGC -Djava.io.tmpdir=$HBASE_TMP_DIR" 参考文档 HBase
RestAPI/Thrift API等接口 查询优化,采用Block Cache 和 布隆过滤器来支持海量数据的快速查找 与RDBMS的区别 对于传统 RDBMS 来说,支持 ACID 事务是数据库的基本能力...mkdir -p /opt/local mv hbase-2.1.5/opt/local/hbase 配置HBase执行命令路径: export HBASE_HOME=/opt/local/hbase...四、基本使用 打开HBase Shell hbase shell 执行status命令 Version2.1.5, r76ab087819fe82ccf6f531096e18ad1bed079651,...BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 2 row(s) in0.0870 seconds 写入数据 通过下面的命令.../local/hbase/temp export HBASE_OPTS="-XX:+UseConcMarkSweepGC -Djava.io.tmpdir=$HBASE_TMP_DIR" 参考文档 HBase
# HBase基本原理 Region定位 region META表 Region定位 数据存储与读取 MemStore Store Store的合并分裂 HFile HBase写文件流程 # Region...# 数据存储与读取 HBase的核心模块是Region服务器。 Region服务器由多个Region块构成,Region块中存储的一系列连续的数据集。...StoreFile是HBase中最小的数据存储单元。 Store存储是HBase存储的核心,其中由两部分组成,一部分是MemStore,一部分是StoreFile。...# HBase写文件流程 客户端首先访问zookeeper,从meta表得到写入数据对应的region信息和相大数据存应的region服务器 找到相应的region服务器,把数据分别写到HLog和MemStore
RestAPI/Thrift API等接口 查询优化,采用Block Cache 和 布隆过滤器来支持海量数据的快速查找 与RDBMS的区别 对于传统 RDBMS 来说,支持 ACID 事务是数据库的基本能力...然而 HBase 的灵活性及高度可伸缩性却是传统 RDBMS 无法比拟的。 三、安装HBase 单机环境安装 1....mkdir -p /opt/local mv hbase-2.1.5/opt/local/hbase 配置HBase执行命令路径: export HBASE_HOME=/opt/local/hbase...四、基本使用 打开HBase Shell hbase shell 执行status命令 Version2.1.5, r76ab087819fe82ccf6f531096e18ad1bed079651,...BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 2 row(s) in0.0870 seconds 写入数据 通过下面的命令
quick start from official Hbase hbase(main):003:0> create 'test', 'cf' 0 row(s) in 1.2200 seconds hbase...(main):003:0> list 'test' .. 1 row(s) in 0.0550 seconds hbase(main):004:0> put 'test', 'row1', 'cf:a'...另外常见的命令还有, hbase(main):006:0> truncate 'test' (注:'truncate'功能类似mysql,将表的数据清空。...hbase(main):006:0> describe 'test' (注:查询test表的列族) hbase(main):006:0> count 'test' (注:统计‘test’表中的记录数)...hbase(main):006:0> get 'test','row1' (注:获取一条记录) hbase(main):006:0> scan 'test' (注:查询全表) hbase(main):006
> t.enable hbase> t.flush hbase> t.disable hbase> t.drop Note that after dropping a table,...表的管理 create 创建表 hbase(main):014:0> create 'xt','xcf' 0 row(s) in 2.5340 seconds => Hbase::Table - xt...hbase(main):015:0> list 查看表 hbase(main):015:0> list TABLE ... xt 17 row(s) in 0.0200 seconds => [.....xt"] hbase(main):016:0> describe 表的描述 hbase(main):017:0> describe 'xt' Table xt is ENABLED xt COLUMN...seconds => 0 hbase(main):037:0>
读取数据 单条数据查询 全表扫描 数据过滤属性 脚本查询 其他命令 hbase是一款分布式数据库. 其对数据的索引只通过row key进行. 在存储数据的时候, 通过row key的排序进行存储....这篇文章主要为了整理hbase命令行的使用, 留待以后用到时翻阅. 读取数据 因为一个数据库使用, 通常最复杂的命令就是查询, 故而将大篇幅都给了查询....哦对, 如果你现在还没有数据, 先跳到文章底部, 那里有建表和数据插入的操作. hbase没有索引, 访问hbase中的数据只有三种方式: 通过指定row key访问 通过row key范围访问 全表扫描...进而找到所有在org.apache.hadoop.hbase.filter包下的实现类: ? 各个过滤器的参数, 可看其各自的构造方法....同时, 你也可以自己建一些脚本交给shel执行: hbase shell cron.txt shell会依次执行文件中的命令. 这里还没有深究, 先简单记录一下有这么个事.
HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。...相比关系型数据库的表模型不同: HBase的表没有固定的字段定义; HBase的表每行存储的都是一些 key-value 键值对; HBase的表有列族的划分,用户可以指定将哪些 kv 插入哪个列族 HBase...HBase和其它数据库之间差异 HBase特性 HBase相比于其它 NoSQL数据库(mongodb、redis、cassendra、hazelcast)的特点,HBase的表数据库存储在HDFS文件系统中...HBase命令行客户端操作 建表: create 't_user_info','base_info','extra_info' 表名 列族名 列族名...0 row(s) in 0.0130 seconds => [] Hbase重要特性 排序特性(行键) 插入到HBase中的数据,HBase会自动排序存储,排序规则: 首先看行键(RowKey
HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况。...安装完HBase之后,如果配置了HBase的环境变量,只要在shell中执行hbase shell就可以进入命令行界面,HBase的搭建可以参考我的上一篇文章:hbase分布式集群搭建 HBase介绍...hbase提供了一个shell的终端给用户交互。使用命令hbase shell进入命令界面。通过执行 help可以看到命令的帮助信息。 HBase的表结构 HBase以表的形式存储数据。...实际应用中,列族上的控制权限能帮助我们管理不同类型的应用:我们允许一些应用可以添加新的基本数据、一些应用可以读取基本数据并创建继承的列族、一些应用则只允许浏览数据(甚至可能因为隐私的原因不能浏览所有数据...Hbase shell HBase Shell的一些基本操作命令,列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 查看存在哪些表 list 创建表 create '表名称', '列名称
领取专属 10元无门槛券
手把手带您无忧上云