HBase 笔记2
Hadoop 服务启动顺序: zookeeper -》journalnode-》namenode -> zkfc -> datanode
HBase Master WEB控制台: <Master>:60010
如果RegionServer正常启动,但是连接不上Master自己又停止,而Master/Region Server之间网络连接,端口可见性正常,多半是/etc/hosts内映射不正确或/etc/sysconfig/network内hostname设置有问题
HBase自带一个命令行工具 hbase shell
进入hbase 命令行: $HBASE_HOME/bin/hbase shell
创建表: create 'test','cf' ====>创建表test,包含一个列族cf
查看库中有哪些表: list
查看表的属性:describe 'test'
建新列族: alter 'test','cf2' ====>新增列族cf2
插入数据:put 'test','row1','cf:name','jack' 向表test的行键为row1的行的cf列族下的name列插入数据,值为Jack
修改HBase保留的版本数:alter 'test',{NAME=>'cf',VERSION=>5} ===>设置表test的cf列族保留版本数为5,默认为1(即使单元格插入多个版本数据,也只会保留最新版本)
查看数据:get 'test','row2',{COLUMN=>'cf:name',VERSION=>3} ====>获取表test,row2行,cf列族下name列的最近3个版本数据
get 'test','row7','cf:name' ===》显示某个单元格的全部数据
遍历表的全部数据: scan '表名'
遍历表的部分数据:scan 'test',{STARTROW=>'row3'} ===>显示所有rowkey大于且等于row3的数据
scan 'test',{ENDROW=>'row4'} ====>显示所有rowkey小于row4的数据
删除数据: delete 'test','row4','cf:name' ====>删除表test中的row4行中的cf:name单元格数据
根据版本删除数据:delete 'test','row1','cf:name',ts ====>删除ts版本之前的所有版本数据(包含这个版本)
HBase删除数据并不是真正删除数据,而是放置了一个墓碑标记,导致这个版本+之前的版本都不可见
删除整行数据: deleteall 'test','row3' ===>删除test表的row3的整行数据
查看打上墓碑标记的数据:scan 'test',{RAW=>true,VERSION=>5} ===>查询最近的5个版本的数据,墓碑隐藏数据也显示
停用表: disable 'test'
删除表: 删除表之前需要停用表
drop 'test'
通用命令:
查看集群状态 status 'summary' | 'simple' | 'detailed'
查看HBase版本: version
查看当前用户: whoami
查看表操作信息: table_help
表操作:
list 列出所有的表名
alter 更改表/列族的定义
1)建立/修改列族
列族属性 BLOOMFILTER REPLICATION_SCOPE MIN_VERSIONS COMPRESSION TTL BLOCKSIZE IN_MEMORY IN_MEMORY_COMPACTION BLOCKCACHE KEEP_DELETED_CELLS DATA_BLOCK_ENCODING
CACHE_DATA_ON_WRITE CACHE_DATA_IN_L1 CACHE_BLOOMS_ON_WRITE CACHE_INDEX_ON_WRITE EVICT_BLOCKS_ON_CLOSE PREFETCH_BLOCKS_ON_OPEN ENCRYPTION ENCRYPTION_KEY IS_MOB_BYTES
MOB_THRESHOLD_BYTES
格式: alter '表名',NAME=>'列族',属性名1=>属性值1,....
2)修改/建立多个列族
格式:alter '表名',{NAME=>'列族',属性名1=>属性值1,....},{NAME=>'列族',属性名1=>属性值1,....}
3)删除列族:
格式: alter '表名',‘delete’=>‘列族名’
4)修改表级别的属性
格式:alter '表名',属性名1=>属性值1,......
5)设置表的配置
格式 : alter '表名',CONFIGURATION => {'配置名' => '配置值'}
alter '表名',{NAME=> '列族名',CONFIGURATION => {'配置名' => '配置值'}}
例: alter 'test',{NAME=>'cf1',CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '15'}}
6) 删除表级别的属性
格式:alter '表名',METHOD=>'table_att_unset',NAME=>'属性名'
7)同时执行多个命令
格式:alter '表名‘,command1,command2,command3,....
create 建立新表
格式:create '表名','列族1',’列族2‘,....
create '表名’,{NAME=>'列族1',属性名=>属性值},{NAME=>'列族2',属性名=>属性值},....
alter_status 查看表的各个Region的更新状况
alter_async 异步更新表
格式:alter_async '表名',参数列表
describe 输出表的描述信息
格式:describe '表名‘ 或 desc '表名'
dsiable 停用指定表
格式:disable '表名'
disable_all 使用正则表达式来停用多个表
格式:disable_all '正则表达式'
is_disabled 检测指定表是否被停用
格式: is_disabled ’表名‘
drop 删除指定表
格式 drop '表名'
drop_all 通过正则表达式删除多个表
格式:drop_all 正则表达式
enable 启动指定表
格式:enable '表名'
enable_all 通过正则表达式启动指定表
格式:enable_all '正则表达式'
is_enabled 判断表是否启用
格式: is_enabled '表名'
exists 判断表是否存在
格式:exists ’表名‘
show_filters 列出所有过滤器
get_table 把表名转换成一个对象
格式: 变量 = get_table '表名'
locate_region 定位传入的行键对应的行在哪个Region里面
格式:locate_region '表名',’行键‘
数据操作:
scan 按照字典排序遍历表的数据
格式:scan '表名'
scan '表名',{COLUMNS => ['列1 ',....]} 遍历指定列
scan ‘表名' {STARTROW => '起始行键',END_ROW =》 ’结束行键‘}
scan '表名',{LIMIT => 行数量} 指定返回的行数量
scan '表名',{TIMERANGE => [最小时间戳,最大时间戳]} ===》包含最小时间戳,最大不包含
scan '表名',{VERSIONS => 版本数} 显示多个版本值
scan '表名',{RAW =》 true ,VERSIONS => 版本数} 显示原始单元格记录
scan '表名',{FILTER => '过滤器'}
get 通过行键获取某行记录
格式: get '表名',’行键‘
count 计算表的行数
格式: count ’表名‘
1)指定计算步长
格式:count '表名',INTERVAL => 行数计算步长
2)指定缓存加速计算过程
格式: count '表名',cache => 缓存条数
INTERVAL 和CACHE可以同时使用
delete 删除某列数据
格式:delete ’表名‘,’行键‘,’列名‘ 【,时间戳】
deleteall 删除整行数据
格式:deleteall ’表名‘ ,’行键‘
deleteall '表名',’行键‘,‘列名’
deleteall '表名',‘行键’,‘列明’,时间戳
incr 为计数器单元格的值加一,若单元格不存在则创建
格式: incr '表名',‘行键’,‘列名’【,加减值】
put 新增记录 or 设置属性
格式:put '表名',‘行键’,‘列名’,‘值’【,时间戳】
通过查询hbase:meta获取某个region的信息,如服务器的标识码
HBase 笔记2的更多相关文章
- HBase笔记:对HBase原理的简单理解
早些时候学习hadoop的技术,我一直对里面两项技术倍感困惑,一个是zookeeper,一个就是Hbase了.现在有机会专职做大数据相关的项目,终于看到了HBase实战的项目,也因此有机会搞懂Hbas ...
- Hbase笔记——RowKey设计
一).什么情况下使用Hbase 1)传统数据库无法承载高速插入.大量读取. 2)Hbase适合海量,但同时也是简单的操作. 3)成熟的数据分析主题,查询模式确立不轻易改变. 二).现实场景 1.电商浏 ...
- HBase笔记--自定义filter
自定义filter需要继承的类:FilterBase 类里面的方法调用顺序 方法名 作用 1 boolean filterRowKey(Cell cell) 根据row key过滤row.如果需要 ...
- HBase笔记--filter的使用
HBASE过滤器介绍: 所有的过滤器都在服务端生效,叫做谓语下推(predicate push down),这样可以保证被过滤掉的数据不会被传送到客户端. 注意: 基于字符串的比较器,如 ...
- HBase笔记--编程实战
HBase总结:http://blog.csdn.net/lifuxiangcaohui/article/details/39997205 (very good) Spark使用Java读取hbas ...
- HBase笔记--安装及启动过程中的问题
1.使用hbase shell的时候运行命令执行失败 例如:在shell下执行 status,失败. 可能的原因:节点之间的时间差距过大 解决方法调整两个节点的时间,使二者一致,这里用了个比较笨的方法 ...
- HBase笔记6 过滤器
过滤器 过滤器是GET或者SCAN时过滤结果用的,相当于SQL的where语句 HBase中的过滤器创建后会被序列化,然后分发到各个region server中,region server会还原过滤器 ...
- HBase笔记5(诊断)
阻塞急救: RegionServer内存设置太小: 解决方案: 设置Region Server的内存要在conf/hbase-env.sh中添加export HBASE_REGIONSERVER_OP ...
- HBase笔记4(调优)
Master/Region Server调优 JVM调优 默认的RegionServer内存是1G,而Memstore默认占40%,即400M,实在是太小了,可以通过HBASE_HEAPSIZE参数修 ...
- HBase 笔记3
数据模型 Namespace 表命名空间: 多个表分到一个组进行统一的管理,需要用到表命名空间 表命名空间主要是对表分组,对不同组进行不同环境设定,如配额管理 安全管理 保留表空间: HBase中有 ...
随机推荐
- Linux DMA Engine framework(3)_dma controller驱动
http://www.wowotech.net/linux_kenrel/dma_controller_driver.html
- 64位 windows10,安装配置MYSQL8.0.13
MySQL的安装配置过程,一查网上一大堆,但是每个人在安装配置的过程中都会碰到一些问题,因为安装的版本不一样,有些命令可能就不适用了.所以安装之前一定先确认好你的版本号. 下面开始安装MYSQL8.0 ...
- python中导入一个需要传参的模块
最近跑实验,遇到了一个问题:由于实验数据集比较多,每次跑完一个数据集就需要手动更改文件路径,再将文件传到服务器,再运行实验,这样的话效率很低,必须要专门看着这个实验,啥时候跑完就手动修改运行下一个实验 ...
- 关于Kafka java consumer管理TCP连接的讨论
本篇是<关于Kafka producer管理TCP连接的讨论>的续篇,主要讨论Kafka java consumer是如何管理TCP连接.实际上,这两篇大部分的内容是相同的,即consum ...
- mysql存储过程异常处理
DELIMITER $$ USE `mtnoh_aaa_platform`$$ DROP PROCEDURE IF EXISTS `proc_eoms_electric_power_generatio ...
- 把项目挂载到composer上
1.打开composer的安装包列表网站,点击submit 2.把刚才初始化了composer的项目push到github上(至于怎么push,最简单就是用git了) 3.然后把github的网址复制 ...
- 如何使用onclick方式添加多个事件回调函数
通过给onclcik包裹一个函数进行上下文的切换与参数的传递: function addClcikEvent(el, fn){ if(el.onclick){ var _back = el.oncli ...
- CodeForces 733B Parade
B. Parade time limit per test1 second memory limit per test256 megabytes inputstandard input outputs ...
- F#周报2019年第7期
新闻 Visual Studio 2019预览版3,F#性能修复 Bolero 0.3发布,HTML模版热加载 Fantomas在线升级至Fantomas 2.9.2 使用F#开发的随机访问Excel ...
- WinDbg 之 SOS扩展命令
SOS.dll (SOS debugging extension) The SOS Debugging Extension (SOS.dll) helps you debug managed prog ...