大数据----33.hbase中的shell文件操作

这篇具有很好参考价值的文章主要介绍了大数据----33.hbase中的shell文件操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HBase的命令行工具,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况。

注意:如果进入hbase后长时间不操作; 发生hbase自动关闭没有了进程; 原因是内存不够;可以关闭机器;增加内存;虚拟机就扩大内存。

一、数据库操作

1、进入 hbase 客户端、帮助命令

[root@hadoop06 hbase]# bin/hbase shell
[root@hadoop06 hbase]# hbase shell(修改完环境变量)
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

注意:他里边所有写的命令不可以删除; 删除必须使用:
ctrl+backspace
shifit+backspace 来删除;
或者使用编辑器编辑好后,然后粘贴出来;

2.查看帮助命令

hbase(main):001:0> help
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

3.查看当前数据库中有哪些表

hbase(main):002:0> list
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

4.查看所有库 namespace 也称之为 命名空间

hbase(main):003:0> list_namespace

大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
hbase 存放的是 一些元数据,一般不要做什么修改,default 是默认库

创建 namespace

大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
创建数据库命名空间也可以设置一些属性
hbase(main):003:0> create_namespace ‘mydb01’,{‘createtime’=>‘2023-12-13’,‘createby’=>‘db01’}
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle描述信息的查看:
hbase(main):001:0> describe_namespace ‘mydb01’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
对namespace属性进行修改和增加属性;
1.修改属性
METHOD=>'set‘ 下面就修改mydb01的时间+1天,并增加一个desc 属性为例说明
hbase(main):001:0> alter_namespace ‘mydb01’,{METHOD=>‘set’,‘createTime’=>‘2023-12-14’,‘desc’=>‘hbase test insert’}
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
删除一个属性:METHOD=>'unset‘
hbase(main):006:0> alter_namespace ‘mydb01’,{'METHOD=>‘unset’,NAME=>‘createby’}

删除 namespace
drop_namespace ‘mydb01’
库命名空间里有表,则无法直接删除库,需要先删除表,在进行drop_namespace
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

表的基本操作

1、查看 hfc_db 下的表
hbase(main):004:0> list_namespace_tables ‘hfc_db’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
2、查看所有自己创建的表 list
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
3、创建表

hbase(main):002:0> create ‘hfc_db:test001’,{NAME=>‘f1’}
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
创建表时若不指定库在直接在default下创建表,创建表至少指定一个列族,这里创建了一个名为f1的列族;如果创建表,不指定属性信息,可以进行创建一个表
hbase:001:0> create ‘hfc_db:test2’,‘f1’
hbase:002:0> create ‘hfc_db:test3’,‘f1’,‘f2’

大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
4、查看表详细信息
hbase(main):002:0> describe ‘hfc_db:test001’
hbase(main):002:0> desc ‘hfc_db:test001’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
blocksize:(BLOCKSIZE => ‘65536’)数据块大小配置优化: blocksize默认是64K
数据块缓存的配置 BLOCKCACHE => ‘true’ 数据块缓存的配置
激进缓存的配置:(IN_MEMORY=> ‘false’)
布隆过滤器: (BLOOMFILTER = > ‘ROW’ )
TTL 生存时间,( TTL => ‘FOREVER’)
压缩:(COMPRESSION => ‘NONE’)
单元时间版本:(VERSIONS => ‘1’)

可以参考:
https://blog.csdn.net/qq_39532946/article/details/77266335

5、表信息修改:此处修改一个列族的版本号

hbase(main):001:0> alter ‘hfc_db:test001’,NAME=>‘f1’,VERSIONS=>‘2’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
修改多个值
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
6、增加/删除列族
hfc_db:test001 增加列族
alter ‘hfc_db:test001’,‘f3’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

hfc_db:test001 删除列族
alter ‘hfc_db:test001’,‘delete’=>‘f3’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
7、删除表

删除表需要先进行disabkle,在进行drop
hbase:005:0> disable ‘hfc_db:test001’
hbase:001:0> drop ‘hfc_db:test001’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

二、DML 操作

1、创建一个表:在 default 下创建,列族名称是 info
默认情况下他是创建的表都在defalut中;

hbase(main):001:0> create ‘student’,‘info’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
2、插入数据
hbase(main):042:0> put ‘student’,‘1001’,‘info:name’,‘zhangsan’

put 表示要插入/更新数据,stu 是表名称,1001 是 rowkey,插入数据需要指定列族和列:这里的 info是列族,name 是info 下的具体列,’linghc‘ 是这个列rowkey=1001 的值,下面在info这个列族增加两个列sex 和 age
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
put ‘stu’,‘1001’,‘info:sex’,‘man’
put ‘stu’,‘1001’,‘info:age’,‘26’
可以给这个列簇中添加数据;
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
3.把刚才插入的数据进行查询出来:
get ‘studnet’,‘1001’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
4. 可以继续添加第二个
put ‘student’,‘1002’,‘info:name’,‘renyy’
put ‘student’,‘1002’,‘info:name’,‘renyy’
put ‘student’,‘1002’,‘info:age’,‘24’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
put ‘student’,‘1003’,‘info:name’,‘zhaoliu’
put ‘student’,‘1003’,‘info:sex’,‘woman’
put ‘student’,‘1003’,‘info:age’,‘18’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
可以给相同的列族的某一个行数据增加或减少n列值是可以的,列的个数可以不一样

put ‘student’,‘1004’,‘info:name’,‘linhucong’
put ‘student’,‘1004’,‘info:sex’,‘man’
put ‘student’,‘1004’,‘info:age’,‘28’
put ‘student’,‘1004’,‘info:shcool’,‘huashanpai’
put ‘student’,‘1004’,‘info:teacher’,‘yuebuqun’

大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
支持按列查询(可以根据列;多列来查询)

hbase(main):018:0> get’student’,‘1004’,‘info:name’,‘info:teacher’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
扫描表数据(整个表)
scan ‘student’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
按rowkey范围扫描 {STARTROW => ‘1001’ ,STOPROW => ‘1003’} :左闭右开,此时只查询到 1002
scan ‘student’,{STARTROW => ‘1001’ ,STOPROW => ‘1003’}
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
指定STOPROW 后加!,可以实现左闭右闭
hbase(main):003:0> scan ‘student’,{STARTROW => ‘1001’ ,STOPROW => ‘1004!’}

大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

##修改数据

5、修改数据直接put 进行覆盖就行

hbase(main):001:0> put ‘student’,‘1001’,‘info:name’,‘dongfangbubai’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
修改数据后,其实只是在原来的基础上增加了一条数据,查询的时候返回了时间戳最新的一个版本,旧版本的数据还在;
这里指定显示了包含最新版本在内的5条历史数据,可以通过时间戳查看

hbase(main):001:0> scan ‘student’,{RAW=>true,VERSIONS=>5}

大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
desc ‘student’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
VERSIONS => ‘1’ 默认值1.,表示最终只保留最新的一个版本的数据,旧版本的数据在适当的时候会被释放。如果想要保留最新两个版本的数据,可以将某个表的 VERSIONS 设置为 2

alter ‘student’,{NAME=>‘info’,VERSIONS=>2}

删除数据

6、删除数据
delete ‘student’,‘1001’,‘info:name’
其实是删除了当前值得最新版本的数据
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
标注:delete 但是数据还是存在的;
scan ‘student’,{RAW=>true,VERSIONS=>5}
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
彻底删除数据
deleteall ‘student’,‘1001’,‘info:name’
大数据----33.hbase中的shell文件操作,大数据,hbase,oracle
dleteall直接将 列族的某一个列直接删了,指定rowkey进行删除整行数据
deleteall ‘student’,‘1004’
直接删除表;数据直接彻底删除表数据,表还在,数据没了
truncate ‘student’

提示:清空表的操作顺序为先disable,然后再truncate。
10.删除表
首先需要先让该表为disable状态:
hbase(main):019:0> disable ‘student’
然后才能drop这个表:
hbase(main):020:0> drop ‘student’

提示:如果直接drop表,会报错:ERROR: Table student is enabled. Disable it first.

大数据----33.hbase中的shell文件操作,大数据,hbase,oracle

常用命令的总结:

HBase表的操作

这些是关于HBase在表中操作的命令。

create: 创建一个表。
list: 列出HBase的所有表。
disable: 禁用表。
is_disabled: 验证表是否被禁用。
enable: 启用一个表。
is_enabled: 验证表是否已启用。
describe: 提供了一个表的描述。
alter: 改变一个表。
exists: 验证表是否存在。
drop: 从HBase中删除表。
drop_all: 丢弃在命令中给出匹配“regex”的表。
Java Admin API: 在此之前所有的上述命令,Java提供了一个通过API编程来管理实现DDL功能。在这个org.apache.hadoop.hbase.client包中有HBaseAdmin和HTableDescriptor 这两个重要的类提供DDL功能。
关于表的操作包括(创建create,查看表列表list。查看表的详细信息desc,删除表drop,清空表truncate,修改表的定义alter)

HBase表中数据的操作

put: 把指定列在指定的行中单元格的值在一个特定的表。
get: 取行或单元格的内容。
delete: 删除表中的单元格值。
deleteall: 删除给定行的所有单元格。
scan: 扫描并返回表数据。
count: 计数并返回表中的行的数目。
truncate: 禁用,删除和重新创建一个指定的表。
Java client API: 在此之前所有上述命令,Java提供了一个客户端API来实现DML功能,CRUD(创建检索更新删除)操作更多的是通过编程,在org.apache.hadoop.hbase.client包下。 在此包HTable 的 Put和Get是重要的类。
关于数据的操作(增put,删delete,查get + scan, 改==变相的增加)文章来源地址https://www.toymoban.com/news/detail-820394.html

到了这里,关于大数据----33.hbase中的shell文件操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hbase Shell操作

    HBase中用 create 命令创建表,具体如下: 此时,创建了一个“student”表,属性有:name,sex,age,address。可通过 describe 命令查看“student”表的基本信息: 2.1 添加数据 HBase中用 put 命令添加数据. 注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据。

    2024年02月15日
    浏览(44)
  • HBase基础及shell操作

    HBase是采用java语言编写的一款 apache 开源的基于HDFS的NoSQL型数据库,不支持 SQL,不支持事务,不支持Join操作,没有表关系 1.不支持事务 2.主要存储结构化数据以及半结构化的数据 3.​HBase中数据存储都是以 字节 的形式来存储的 4.HBase是易于扩展的 1- 大: 在一个表中可以存储上

    2023年04月08日
    浏览(41)
  • HBase Shell基本操作

    先在Linux Shell命令行终端执行 start-dfs.sh 脚本启动HDFS,再执行 start-hbase.sh 脚本启动HBase。如果Linux系统已配置HBase环境变量,可直接在任意目录下执行 hbase shell 脚本命令,就可进入HBase Shell的命令行终端环境, exit 可以退出HBase Shell(我安装的是伪分布式的HBase)。 (1) help帮

    2024年04月13日
    浏览(39)
  • HBase(11):shell管理操作

    1 status 例如:显示服务器状态   2 whoami 显示HBase当前用户,例如:   3 list 显示当前所有的表 4 count 统计指定表的记录数,例如:     5 describe 展示表结构信息   6 exists 检查表是否存在,适用于表量特别多的情况

    2024年02月12日
    浏览(42)
  • HBase高手之路4-Shell操作

    命令 功能 create 创建表 put 插入或者更新数据 get 获取限定行或者列的数据 scan 全表扫描或扫描表并返回表的数据 describe 查看表的结构 count 统计行数 delete 删除指定的行或列的数据 deleteall 删除整个行或者列的数据 truncate 删除表的数据,结构还在 drop 删除整个表(包括数据)

    2023年04月17日
    浏览(41)
  • Hbase安装和shell客户端操作

    HBase 是一个 面向列式存储的分布式数据库 ,其设计思想来源于 Google 的 BigTable 论文。 HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。 HBase 良好的分布式架构设计为海量数据的快速存储、随机访问提供了可能,基于数据副本机制和分区机制可以轻松实现在线扩容

    2024年02月08日
    浏览(48)
  • 第1关:HBase Shell 操作:分区压缩

    任务描述 本关任务:在 HBase Shell 中使用分区压缩命令并将查看到的命令结果复制到指定的文件中。 相关知识 为了完成本关任务,你需要掌握: 1.数据分区压缩的概念; 2.数据分区压缩的原因; 3.数据分区压缩的过程; 4.数据分区压缩的触发时机; 5.数据分区压缩的详解。 数据分

    2024年04月13日
    浏览(71)
  • HBase Shell 操作:自动拆分和预分区

    启动hadoop集群 start-all.sh 启动Zookeeper集群 zkServer.sh start 启动HBase start-hbase.sh 进入hbase shell hbase shell 创建的表使用自动拆分命令 create \\\'stu\\\',{METADATA={\\\'SPLIT_POLICY\\\'=\\\'org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy\\\'}},{NAME=\\\'sc\\\'} 第二关:预分区 具体预分区配置要求如下所述: 文本文件

    2024年04月10日
    浏览(38)
  • 33. 常用shell之 scp - 安全复制文件 的用法和衍生用法

    scp (secure copy)是一个基于 SSH (Secure Shell) 协议的命令行工具,用于在本地和远程主机之间安全地复制文件。它利用 SSH 提供的加密和身份验证功能,确保在传输过程中数据的安全性。 基本用法 从本地复制到远程服务器 : scp /path/to/localfile username@remotehost:/path/to/remotefile 这个命

    2024年02月01日
    浏览(34)
  • HBase Shell启动缓慢及操作耗时长的原因分析与解决

    在内网搭了一个 hbase-2.2.6(hadoop-2.7.3)的环境,使用的是其内置的 zookeeper-3.4.10,16010端口对应的 web界面可以正常访问,且各项功能正常。 在使用 hbase shell的过程中,首先是 hbase shell启动非常慢,约 210s才成功,其次执行 scan、put、get等命令需要 20s左右才能完成。以笔者的经

    2024年02月02日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包