首页文章用《王者荣耀》游戏玩家信息管理操作教会使用hbase手机h游戏「用《王者荣耀》游戏玩家信息管理操作教会使用hbase」

用《王者荣耀》游戏玩家信息管理操作教会使用hbase手机h游戏「用《王者荣耀》游戏玩家信息管理操作教会使用hbase」

时间2025-01-18 11:10:48发布yu分类文章浏览199
导读:主要使用HBase shell的方式实现对王者荣耀游戏玩家信息表的操作,包括表的创建、删除及数据的插入、查询等操作。 HBase Shell常用DDLÿ...

主要使用HBase shell的方式实现对王者荣耀游戏玩家信息表的操作,包括表的创建、删除及数据的插入、查询等操作。

HBase Shell常用DDL(数据定义语言)命令

HBase Shell命令功能描述list列出HBase中的所有表create创建一张表describe列出表的详细信息alter修改表的列族disable禁用表,使表无效enable启用表,使表有效drop删除表exists判断表是否存在

2.1下面我们创建王者荣耀玩家信息表

 

注意:其中列族名称必须用单引号括起来,即NAME后的部分,如果有多个列族,应该以逗号分隔,每个列族单独用{}括起来。指定列族参数的格式为参数名=>参数值"=>"是赋值符号,参数名必须大写!
同时,创建gamer表的代码可以进行简化:

 

2.2查看表的详细信息

 

出现Table gamer is ENABLED即可,在结果里可以查看表中的 列族信息,下面我们用一张表格来介绍一下列族描述信息含义。

列族描述可选值含义NAME可打印的字符串列族名称,参考ASCII码BLOOMFILTERNONE((默认)|ROWCOL|ROW提高随机读的性能VERSION数字列族中单元时间版本最大数量IN_MEMORYtrue|false(默认)使得列族在缓存中拥有更高优先级KEEP_DELETED_CELLSTRUE|FALSE(默认)启用后可以避免被标记为删除的单元从HBase中删除DATA_BLOCK_ENCODINGNONE(默认)数据库编码TTL默认FOREVER单元时间版本超时时间,可指定多长时间(秒)后失效COMPRESSIONNONE(默认)|LZO|SNAPPY|GZIP压缩算法MIN_VERSIONS数字列族中单元时间版本最小数量BLOCKCACHEtrue|false,默认true是否将数据放入读缓存BLOCKSIZE默认65536字节数据块大小,数据块越小,索引越大REPLICATION_SCOPE默认0开启功能

2.3修改表的列族信息
alter命令可以为表增加或修改列族
示例:将gamer表中的personalInfo列族的TTL(用于限定数据的超时时间)信息设置为180天(15552000秒)

 

再查看表的信息后会发现TTL已经设置成15552000秒

2.4删除表
使用drop命令进行删除操作。当表为enabled时会被禁止删除,只有当我们将表设置为disabled状态时才可以删除

 

禁用完后,可以使用is_disabled命令查看是否被禁用,true标识则表示已经被禁用
使用enable命令重新启用表
删除表

 

查看表是否已经存在

 
 

我们先来了解一下HBase Shell中的常用DML命令

HBase Shell命令功能描述put向指定的单元添加值scan通过扫描表来获取数据get通过行或者单元的值count统计表中行的数量,一个行键为一行delete删除指定对象的值deleteall删除整行truncate清空表的数据

3.1添加数据
使用put命令向表中添加数据
命令:
put

,, family:qualifier,,
示例:向王者荣耀游戏玩家信息表gamer中添加数据

 

示例演示的是给gamer表行键(Row Key)为row-0001的personalInfo列族中添加了列nickname,单元值为QGhappy.junjie,下面我们写一下完整代码

 

注意:同一个列族中可以添加多个列

 

3.2查询数据
命令
scan

,{COLUMNS=>[ family:qualifier,…],LIMIT=>num}
其中,大括号的内容为扫描条件,如果不指定就查询所有数据
示例:扫描gamer表中的数据

 

扫描列族数据

 

扫描列键数据

 

3.3get获取数据
get命令用于获取行的所有单元或者指定的单元
命令
get ‘表名称’,‘行键’,{COLUMNS=>[‘列祖名1’,‘列族名2’,…],参数名=>参数值…}
get ‘表名称’,‘行键’,{COLUMN=>[‘列键1’,‘列键2’,…],参数名=>参数值…}
get查找的目标是某行的某个列族、列键
scan查找的目标是全表的某个列族、列键
示例:查找行键为row-0001的所有单元

 

查找行键‘rw-0001’,列键为‘personalInfo:nickname’的单元

 

查找行键为‘rw-0001’,列族为‘personalInfo’的单元

 

3.4删除数据
1.使用delete命令删除数据库中的一个单元
命令
delete‘表名称‘,’行键‘,’列键’
删除表中行键为“row-0001”,列族为personalInfo的所有单元

 

删除完毕后,使用get命令查看是否已经删除成功
2.使用deleteall命令删除一行
删除行键为row-0001的一行数据

 

再通过get命令查看是否已经删除成功

3.5清空表中数据
使用truncate命令可以删除表中的所有数据
命令:
truncate ‘表名称’
清空gamer表中的所有数据:

 

温州版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com

展开全文READ MORE
信息管理游戏荣耀玩家王者
苹果手机连接电脑无反应,仅能充电苹果手机驱动「苹果手机连接电脑无反应,仅能充电」 华为Mate50系列四款机型汇总 3999元起售!华为mate手机「华为Mate50系列四款机型汇总 3999元起售!」