首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
range
export
httpclient
io
triggers
golang
buffer
cookie
schema
integer
require
default
python3
join
vba
const
hash
chat
php7
node.js
hook
java
tags
timezone
controller
client
text
match
bitmap
python2
merge
hashtable
split
iostream
keyword
shell
spring
settings
datetime
request
actionscrip
javascript
php5
include
grid
python
solr
callback
ascii
window
frameworks
blob
post
replace
stream
copy
runtime
config
version
heap
foreach
jsp
case
filter
char
netty
list
int
数组
search
hashcode
hashset
rsa
httprequest
header
c语言
flutter
install
dagger
当前位置:
开发笔记
>
编程语言
> 正文
hbase增删改查
作者:从1前2有3个4人_706 | 来源:互联网 | 2023-08-26 10:20
两篇可以参考的文章,讲的不错http:www.cnblogs.comnexiyiphbase_shell.html(http:blog.iyunv.comwulant
两篇可以参考的文章,讲的不错
http://www.cnblogs.com/nexiyi/p/hbase_shell.html
(http://blog.iyunv.com/wulantian/article/details/41011297)
==============================
hbase web操作
访问地址 http://hmaster:60010,
hmaster的ip配置在$HBASE_HOME/conf/hbase-site.xml中
ip映射成主机名,在env/hosts中配置(在windows系统中的C:\Windows\System32\drivers\etc目录下的hosts文件中配置)
hbase shell 操作:
进入hbase console:hbase shell
help查看基本命令集合
list看库中所有表
status 查看当前运行服务器状态
version 版本号
1)建表
语法:create
, {NAME =>
, VERSIONS =>
}
语句:
hbase(main):004:0> exists 'test'
hbase(main):005:0> create 'test','cf'
hbase> create 't1', {NAME => 'f1', VERSIONS => 5}
hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
省略模式建立列族
hbase> create 't1', 'f1', 'f2', 'f3'
指定每个列族参数
hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
hbase> create 't1', 'f1', {SPLITS => ['10', '20', '30', '40']}
hbase> create 't1', 'f1', {SPLITS_FILE => 'splits.txt'}
hbase> # Optionally pre-split the table into NUMREGIONS, using
hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
设置不同参数,提升表的读取性能。
create 'lmj_test',
{NAME => 'adn', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'},
{NAME => 'fixeddim', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'},
{NAME => 'social', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}
每个参数属性都有性能意义,通过合理化的设置可以提升表的性能
create 'lmj_test',
{NAME => 'adn', BLOOMFILTER => 'ROWCOL', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', COMPRESSION => 'SNAPPY', BLOCKCACHE => 'false'},
{NAME => 'fixeddim',BLOOMFILTER => 'ROWCOL', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', COMPRESSION => 'SNAPPY', BLOCKCACHE => 'false'},
{NAME => 'social',BLOOMFILTER => 'ROWCOL', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0',COMPRESSION => 'SNAPPY', BLOCKCACHE => 'false'}
2)建好表后,查看表结构:describe
得出
{NAME => 'lmj_test',
FAMILIES =>
[
{NAME => 'adn', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'},
{NAME => 'fixeddim', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'},
{NAME => 'social', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}
]
}
3)清空表:truncate ‘lmj_test’
4)删除表:
分两步,首先disable 'lmj_test',然后drop 'lmj_test'
5)修改表结构:先disable后enable
alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
例如:修改表test1的cf的TTL为180天
hbase(main)> disable 'test1'
hbase(main)> alter 'test1',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta', TTL=>'15552000'}
hbase(main)> enable 'test1'
6)对表中记录的操作(4种行操作)
put 增加一行
put 't1', 'r1', 'c1', 'value', ts1
put 'lmj_test','00001','adn:adn_3','aaa',1432483200000
put 'lmj_test','00001','fixeddim:appcategory_1','1',1432483200000
put 'lmj_test','00001','fixeddim:interest_15','100',1432483200000
get查询对应数据(可以指定行、列族、列、版本)
get 'lmj_test','000000104257464',{TIMESTAMP=>1432483200000}
delete 删除数据
删除指定行中指定列:
delete
,
,
,
(必须指定列名,删除其所有版本数据)
delete 'lmj_test','000000104257464','f1:col1'
删除整行数据(可不指定列名):
deleteall
,
,
,
deleteall 'lmj_test','000000104257464'
scan 扫描全表,指定过滤条件,返回对应行
scan 'lxw_hbase', {LIMIT => 1}
其他条件继续添加在大括号中
以上4个操作类是 org.apache.hadoop.hbase.client的子类,参考官网API查看详细信息
count统计表中记录数
count 'lxw_hbase', {INTERVAL => 100, CACHE => 500}
#每100条显示一次,缓存区为500
7)表操作权限
给用户分配对每个表的操作权限,有RWXCA五种,对应READ, WRITE, EXEC, CREATE, ADMIN
grant 'liu_mja','RW','lxw_hbase' #分配给用户liu_mja表lxw_hbase的读写权限
还可以 查看权限
user_permission 'lxw_hbase'
收回权限
revoke 'liu_mja','lxw_hbase'
8)命名空间
关系数据库系统中,命名空间namespace是表的逻辑分组,同一组中的表有类似的用途。
以下引自:http://blog.iyunv.com/wulantian/article/details/41011297
hbase的表也有命名空间的管理方式,命名空间的概念为即将到来的多租户特性打下基础:
配额管理( Quota Management (HBASE-8410)):限制一个namespace可以使用的资源,资源包括region和table等;
命名空间安全管理( Namespace Security Administration (HBASE-9206)):提供了另一个层面的多租户安全管理;
Region服务器组(Region server groups (HBASE-6721)):一个命名空间或一张表,可以被固定到一组 regionservers上,从而保证了数据隔离性。
命名空间可以被创建、移除、修改。
建表时可以指定命名空间,格式如下:
:
#Create a namespace
create_namespace 'my_ns'
#create my_table in my_ns namespace
create 'my_ns:my_table', 'fam'
#drop namespace
drop_namespace 'my_ns'
#alter namespace
alter_namespace 'my_ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
预定义的命名空间:
有两个系统内置的预定义命名空间
hbase 系统命名空间,用于包含hbase的内部表
default 所有未指定命名空间的表都自动进入该命名空间
使用默认的命名空间
#namespace=default and table qualifier=bar
create 'bar', 'fam'
指定命名空间
#namespace=foo and table qualifier=bar
create 'foo:bar', 'fam'
原文网址:http://www.iyunv.com/thread-130713-1-1.html
hbase
http
ip
shell
html
web
xml
windows
文件
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
java
深入解析Java中的空指针异常及其预防策略
空指针异常(NullPointerException,简称NPE)是Java编程中最常见的异常之一。尽管其成因显而易见,但开发人员往往容易忽视或未能及时采取措施。本文将详细介绍如何有效避免空指针异常,帮助开发者提升代码质量。 ...
[详细]
蜡笔小新 2024-11-15 15:04:40
text
vue引入echarts地图的四种方式
一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例: Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入: importechartsfrom"echarts";4、如果用到map(地图),还 ...
[详细]
蜡笔小新 2024-11-15 13:07:46
tags
如何重置MySQL服务器密码
本文详细介绍如何在忘记MySQL服务器密码的情况下进行密码重置,包括具体的步骤和注意事项。 ...
[详细]
蜡笔小新 2024-11-15 09:54:51
java
JavaScript中的事件处理机制
事件是程序各部分之间的一种通信方式,也是异步编程的一种实现形式。本文将详细介绍EventTarget接口及其相关方法,以及如何使用监听函数处理事件。 ...
[详细]
蜡笔小新 2024-11-15 04:27:01
io
如何查看PHP网站及其源码
本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ...
[详细]
蜡笔小新 2024-11-14 21:51:01
text
使用Python爬取妙笔阁小说信息并保存为TXT和CSV格式
本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ...
[详细]
蜡笔小新 2024-11-14 19:54:58
java
普通树(每个节点可以有任意数量的子节点)级序遍历
普通树(每个节点可以有任意数量的子节点)级序遍历 ...
[详细]
蜡笔小新 2024-11-14 18:53:26
io
包含phppdoerrorcode的词条
包含phppdoerrorcode的词条 ...
[详细]
蜡笔小新 2024-11-14 12:06:14
default
机器学习算法:SVM(支持向量机)
SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ...
[详细]
蜡笔小新 2024-11-14 04:33:58
text
Python基础:使用NLTK和Python构建机器学习应用
本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ...
[详细]
蜡笔小新 2024-11-13 21:23:34
client
CentOS 7 中配置开机自动挂载 NFS 的解决方案
本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ...
[详细]
蜡笔小新 2024-11-13 12:05:24
default
(7)Python爬虫——爬取豆瓣电影Top250
利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ...
[详细]
蜡笔小新 2024-11-13 11:35:24
hash
在范围[0..n-1]中产生m个不同的随机数 - Generating m distinct random numbers in the range [0..n-1]
Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ...
[详细]
蜡笔小新 2024-11-13 09:49:14
text
网站访问全流程解析
本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ...
[详细]
蜡笔小新 2024-11-12 18:13:16
const
iOS snow animation
CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ...
[详细]
蜡笔小新 2024-11-15 11:52:38
从1前2有3个4人_706
这个家伙很懒,什么也没留下!
Tags | 热门标签
range
export
httpclient
io
triggers
golang
buffer
cookie
schema
integer
require
default
python3
join
vba
const
hash
chat
php7
node.js
hook
java
tags
timezone
controller
client
text
match
bitmap
python2
RankList | 热门文章
1
小技巧:为Linux下的文件分配多个权限linux教程
2
Kerberoasting攻击
3
JVM—垃圾回收GC算法
4
Maven没有正确地选择JAVA_HOME - Maven not picking JAVA_HOME correctly
5
重新命名和删除约束
6
Java Performance Tuning笔记
7
ASP.NET获取IP与MAC[using C#]
8
DJango_Django 模板
9
Mysql存储级别_mysql的权限级别
10
windows443端口和80端口被占用怎么解决
11
正则表达式 php 模板,PHP中正则表达式回顾(4)编写一个非常简单而且山寨的smarty模板引擎...
12
基础_Jsp编程的基础模型
13
ObjectiveC中有没有办法比较两个方法的地址
14
NBIoTDTU对比于3G/4G DTU的区别和优势
15
图文实践给***KVM架构配置IPV6的过程
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有