行(row),列(Column),列蔟(Column Family),列标识符(Column Qualifier)和单元格(Cell)

行:由一个个行键(rowkey)和一个多个列组成。其中rowkey是按照字典顺序排序

列:列由列蔟(Column Family)和列限定符(Column Qualifier)组成   例如:C1:ID

列蔟:创建表时就已经创建,是固定的,所有表中的每一行都有相同的列蔟,列蔟和列标识符通过绑定在一起用:连接

列标识符(列名):为存储的values数据提供索引,不同的行可能存在不同的列标识符

单元格:是行、列蔟和列标识符的组合,包含一个值和一个时间戳,以十六进制进制进行显示存储

创建表

首先先启动hbase shell

create '表名','列蔟名'...   (一个表可以包含若干个列蔟)

create 'ORDER_INFO','001'

查看表

list '表名'

删除表(先禁用表才能删除)

disable  '表名 '

drop   '表名'

添加数据

put '表名','ROWKEY','列蔟名(Column Family):列限定符(Column Qualifier)','值'

put 'ORDER_INFO','000001','C1:ID','000001'

put 'ORDER_INFO','000001','C1:STATUS','已提交'

put 'ORDER_INFO','000001','C1:PAY_MONEY',4070

put 'ORDER_INFO','000001','C1:PAYWAY',1

put 'ORDER_INFO','000001','C1:USER_ID',4944191

put 'ORDER_INFO','000001','C1:OPERATION_DATE','2020-04-25 12:09:16'

put 'ORDER_INFO','000001','C1:CATEGORY','手机'

查看添加的数据

get '表名','rowkey'

get 'ORDER_INFO','000001'

get 'ORDER_INFO','000001','C1:ID'

显示中文:get命令最后添加  {FORMATTER => 'toString'}  FORMATTER要大写

查看表结构

describe 'ORDER_INFO'

更新操作

更新指定的列(每执行一次put,时间戳都会发生改变)

put 'ORDER_INFO', '000001', 'C1:STATUS', '已付款'

删除操作

删除指定的列

delete '表名', 'rowkey', '列蔟:列'

delete 'ORDER_INFO','000001','C1:STATUS'

注意:此处HBase默认会保存多个时间戳的版本数据,所以这里的delete删除的是最新版本的列数据。

删除前

删除后

 删除整行数据

deleteall '表名','rowkey'

deleteall 'ORDER_INFO','000001'

清空表

truncate "表名"

truncate 'ORDER_INFO'

扫描操作

scan '表名'  (注意避免扫描大表)

scan 'ORDER_INFO'

扫描前两条

scan 'ORDER_INFO',{LIMIT=>2}

按固定rowkey扫描

hbase(main):079:0> scan 'ORDER_INFO',{ROWPREFIXFILTER=>'000001'}

范围查询 STARTROW(开始rowkey) ENDROW(结束rowkey)

scan 'ORDER_INFO', {STARTROW => 'row2'}

scan 'ORDER_INFO', {STARTROW => 'row2',ENDROW => 'row2'}

scan 'ORDER_INFO', {STARTROW => 'row2',ENDROW => 'row3'}

加载表,统计表记录数,禁用启用表

加载表

在linux中直接执行hbase shell 文件路径   (不要在shell中执行)

统计表记录数

count ‘表名’, {INTERVAL => intervalNum, CACHE => cacheNum} (每intervalNum告诉一次,每次刷cacheNum条)

INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

当有大量数据时可以进行MapReduce程序统计

启动yarn集群

start-yarn.sh

启动history server

mr-jobhistory-daemon.sh start historyserver

执行命令:$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'ORDER_INFO'

禁用启用表

禁用表:disable ‘表名’

启动表:enable ‘表名’

测试表是否存在:exists ‘表名’

Hbase计数器

要使用incr来初始化一个列,不能用put操作

可以使用get_counter的指令来获取计数器的操作,使用get是获取不到的

get_counter 'NEWS_VISIT_CNT','0000000020_01:00-02:00','C1:CNT'

incr '表名','rowkey','列蔟:列名',xxx(xxx是增加的值,不写就是默认加1)

incr 'NEWS_VISIT_CNT','0000000020_01:00-02:00','C1:CNT',2

shell管理命令

status:显示服务器状态

whoaim:显示HBase当前用户

describe:展示表结构信息

exists:检查表是否存在,适用于表量特别多的情况

Hive整合HBase

create external table students_hbase
(
id string,
name string,
age string,
gender string,
clazz string
)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping" = "
:key,
info:name,
info:age,
info:gender,
info:clazz
")
tblproperties("hbase.table.name" = "default:students");

HBase常用shell操作的更多相关文章

  1. HBASE与hive对比使用以及HBASE常用shell操作。与sqoop的集成

    2.6.与 Hive 的集成2.6.1.HBase 与 Hive 的对比1) Hive(1) 数据仓库Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以方 ...

  2. 原 HBase 常用Shell命令

    HBase 常用Shell命令 1.进入hbase shell console $HBASE_HOME/bin/hbase shell 如果有kerberos认证,需要事先使用相应的keytab进行一 ...

  3. (转)HBase 常用Shell命令

    转自:http://my.oschina.net/u/189445/blog/595232 hbase shell命令                             描述  alter 修改 ...

  4. Hbase之shell操作

    一. 介绍 HBase是一个分布式的.面向列的 开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源 ...

  5. HBase的Shell操作

    1.进入命令行 bin/hbase shell 2.输入help 查看各种命令组. 命令是分组的,可以执行help 'general'查看general组的命令. 3.常用命令 --显示有哪些表 li ...

  6. HBase 学习之路(五)——HBase常用 Shell 命令

    一.基本命令 打开Hbase Shell: # hbase shell 1.1 获取帮助 # 获取帮助 help # 获取命令的详细信息 help 'status' 1.2 查看服务器状态 statu ...

  7. HBase 系列(五)——HBase 常用 Shell 命令

    一.基本命令 打开 Hbase Shell: # hbase shell 1.1 获取帮助 # 获取帮助 help # 获取命令的详细信息 help 'status' 1.2 查看服务器状态 stat ...

  8. 【hbase】hbase的shell操作笔记

    HBase Shell $ ./bin/hbase shell # 进入交互界面 DDL操作: create:创建表(默认命名空间为default) # create '表名','列族1','列族2' ...

  9. HBase 常用Shell命令

    两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~ 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使 ...

随机推荐

  1. Java GUI界面补充总结(不定期补充)

    一.Java中如何设置各类组件透明 感谢原文:https://kslsi.iteye.com/blog/2096608 补充:Frame透明:AWTUtilities.setWindowOpacity ...

  2. iconv(gb2312<->utf-8)

    转载请注明来源:https://www.cnblogs.com/hookjc/ unix下安装PHP的module,需要重新编译PHP,Windows下安装模板,只需将php.ini里的配置打开相应的 ...

  3. UIScrollView的代理方法(delegate)

    // ViewController.m // 05-UIScrollView的代理(delegate) #import "ViewController.h" @interface ...

  4. DHCP原理与LINUX下的配置

    DHCP原理与LINUX下的配置 目录 DHCP原理与LINUX下的配置 一.DHCP工作原理 1.DHCP概述 2.DHCP的优势 3.DHCP的分配方式 (1)自动分配 (2)手动分配 (3)动态 ...

  5. Git配置ssh免密登录

    一.在用户目录下的.ssh目录下生成秘钥与公钥 如果用户目录下没有.ssh目录,则需要新建一个 cd ~/.ssh ssh-keygen -t rsa 一路回车即可 注:国内很多博客都会带上-C &q ...

  6. Python支付宝单笔转账接口

    开发信息 接口加签方式为证书模式 证书模式好处是可以使用支付宝的转账到支付宝账户,也就是提现功能,公钥模式不能实现转账到支付宝账户. 此DEMO利用单笔转账到支付宝账户接口[提现功能]用户可以通过此D ...

  7. swpu新生赛ctf wp

    WEB:gift_F12 没啥好说的 直接F12得了 NSSCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} RE 简简单单的解密 import base64, url ...

  8. 在VMware上安装Linux虚拟机

    1.新建虚拟机 2.选择典型安装 3.点击稍后安装操作系统 4.选择类型和版本 5.选择一个英文路径 6. 7.调整硬件 8. 9. 10.选择第一项 11.选择中文 12.选择最小安装 13. 14 ...

  9. Solution -「NOI.AC 省选膜你赛」array

    题目 题意简述   维护一个长度为 \(n\) 的序列 \(\{a_n\}\),并给出 \(q\) 个操作: 将下标为 \(x\) 的数修改为 \(y\). 给定 \(l,r,k\),求最大的 \(m ...

  10. 在超算系统上使用sbatch提交MXNet分布式训练任务

    在超算系统上运行MXNet分布式训练任务时,面临着一个IP地址相关的问题.我们在提交MXNet的分布式任务时,需要知道各个GPU节点的IP地址,把这些IP地址放到一个hosts文件中,以供分布式训练使 ...