Hbase之Shell

HBase shell操作 一、HBase常用shell操作 1、进入HBase客户端命令操作界面 $ bin/hbase shell 2、查看帮助命令 hbase(main):001:0> help 3、查看当前数据库中有哪些表 hbase(main):002:0> list 4、创建一张表 创建user表,包含info、data两个列族 hbase(main):010:0> creat... 阅读详情

Hbase的Shell操作

写在前面

因为格式问题,为了显示美观一点笔者在Shell命令中逗号后面添加了空格.实际使用请不要加空格
说明

名字意义
tnameTableName表名
rkRow_Key行键
cfColumn_Family列族
cColumn列
regex正则表达式
#使用如下命令进入Hbase 的shell 客户端,输入quit或exit退出
$ hbase shell

登录成功

$ help #查看hbase 所有命令

查看
如果忘记了命令如何使用,使用help ‘命令’查看帮助文档,如下

hbase(main):048:0> help 'list'
List all tables in hbase. Optional regular expression parameter could
be used to filter the output. Examples:

  hbase> list
  hbase> list 'abc.*'
  hbase> list 'ns:abc.*'
  hbase> list 'ns:.*'

1.常用命令操作

Shell作用
查看服务器状态status
查看hbase 版本version
查看当前用户whoami
表引用命令提供帮助table_help

查看服务器状态

hbase(main):002:0> status
1 active master, 1 backup masters, 3 servers, 0 dead, 1.0000 average load

查看hbase 版本

hbase(main):003:0> version
1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017

查看当前用户

hbase(main):004:0> whoami
hadoop (auth:SIMPLE)
    groups: hadoop, wheel

表引用命令提供帮助

这里写图片描述

DDL操作(数据定义语言)

作用Shell
创建表create ‘tname’, ‘cf1’,’cf2’,’cf…’
查看表结构desc ‘tname’ or describe ‘tname’
判断表是否存在exists ‘tname’
判断是否禁用启用表is_enabled ‘tname’; is_disabled ‘tname’
禁用表disable ‘tname’
启用表enable ‘tname’
查看所有表list
删除列族alter ‘tname’,’delete’=>’cf’
新增列族alter ‘tname’,NAME=>’cf’
删除单个表 先禁用表, 再删除表第一步disable ‘tname’,第二步 drop ‘tname’
批量删除表drop_all ‘regex’

创建表

hbase(main):008:0> create 'students','info','address'
0 row(s) in 10.5040 seconds

=> Hbase::Table - students

查看表结构

hbase(main):029:0> desc 'students'
Table students is ENABLED                                                                                                                                                                      
students                                                                                                                                                                                       
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                    
{NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VER
SIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                            
{NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIO
NS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                               
2 row(s) in 0.2450 seconds

hbase(main):030:0> describe 'students'
Table students is ENABLED                                                                                                                                                                      
students                                                                                                                                                                                       
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                    
{NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VER
SIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                            
{NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIO
NS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                               
2 row(s) in 0.2470 seconds

判断表是否存在(exit)

hbase(main):011:0> exists 'students'
Table students does exist                                                                                                                                                                      
0 row(s) in 0.0830 seconds

判断是否禁用启用表(is_enabled,is_disabled)

#is_enabled 是否启用、is_disabled 是否禁用

hbase(main):012:0> is_enabled 'students'
true                                                                                                                                                                                           
0 row(s) in 0.0690 seconds

hbase(main):013:0> is_disabled 'students'
false                                                                                                                                                                                          
0 row(s) in 0.0860 seconds

禁用表(disable)

hbase(main):016:0> disable 'students'
0 row(s) in 2.6340 seconds

hbase(main):017:0> is_disabled 'students'
true                                                                                                                                                                                           
0 row(s) in 0.0520 seconds

启用表(enable)

hbase(main):018:0> enable 'students'
0 row(s) in 2.5390 seconds

hbase(main):019:0> is_enabled 'students'
true                                                                                                                                                                                           
0 row(s) in 0.0860 seconds

查看所有表(list)

hbase(main):020:0> list
TABLE                                                                                                                                                                                          
students                                                                                                                                                                                       
user                                                                                                                                                                                           
2 row(s) in 0.0400 seconds

=> ["students", "user"]

删除列族(alter)

#删除students表中的列族 address

hbase(main):024:0> alter 'students','delete'=>'address'
Updating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 4.0260 seconds

新增列族(alter)

#students 表中新增列族address

hbase(main):027:0> alter 'students',NAME=>'address'
Updating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 3.6260 seconds

删除表(drop,drop_all)

#注意:删除前必须先disable表,然后再使用drop删除 
#删除单个表使用drop,删除students表

hbase(main):031:0> disable 'students'
0 row(s) in 2.3640 seconds

hbase(main):032:0> drop 'students'
0 row(s) in 2.5820 seconds

hbase(main):033:0> exists 'students'
Table students does not exist                                                                                                                                                                  
0 row(s) in 0.0850 seconds


#批量删除表使用drop_all,使用正则匹配,删除前先disable表,例如有如下表,删除所有以stu开头的表

hbase(main):038:0> list
TABLE                                                                                                                                                                                          
stu                                                                                                                                                                                            
students1                                                                                                                                                                                      
students2                                                                                                                                                                                      
user                                                                                                                                                                                           
3 row(s) in 0.0570 seconds

=> ["stu", "students1", "students2"]
hbase(main):041:0> disable_all 'stu.*'
stu                                                                                                                                                                                            
students1                                                                                                                                                                                      
students2                                                                                                                                                                                      

Disable the above 3 tables (y/n)?
y
3 tables successfully disabled

DML (数据操作语言)

作用Shell
插入数据put ‘tname’,’rk’,’cf:c’,’value’
获取某个列族get ‘tname’,’rk’, ‘cf’
获取某个列族的某个列get ‘tname’, ‘rk’, ‘cf : c’
全表扫描scan ‘tname’
查询表历史记录scan ‘tname’,{RAW => true,VERSION => 10}
删除记录delete ‘tname’ ,’rk’, ‘cf : c’
删除整行deleteall ‘tname’, ‘rk’
清空表truncate ‘tname’
查看表中的记录总数count ‘tname’

插入数据(put)

hbase(main):003:0> put 'students','1001','info:name','zhangsan'
0 row(s) in 0.9800 seconds

hbase(main):006:0> put 'students','1001','info:sex','0'
0 row(s) in 0.0520 seconds

hbase(main):006:0> put 'students','1001','address:province','Henan'
0 row(s) in 0.1540 seconds

hbase(main):005:0> put 'students','1001','address:city','BeiJing'
0 row(s) in 0.3730 seconds

hbase(main):018:0> put 'students','1002','info:name','wangwu'
0 row(s) in 0.0690 seconds

hbase(main):019:0> put 'students','1003','info:sex','1'
0 row(s) in 0.0640 seconds

更新数据(put)

#更新行健为1001,列族为info,列为name的学生姓名为lisi
hbase(main):009:0> put 'students','1001','info:name','lisi'
0 row(s) in 0.1040 seconds

这里写图片描述

#更新行健为1001,列族为address,列为province的学生省份为BeiJing
hbase(main):011:0> put 'students','1001','address:province','BeiJing'
0 row(s) in 0.0650 seconds

查询数据(get、scan)

根据rowkey获取:get
全表扫描:scan

  • 获取行健为1001的学生信息
hbase(main):025:0> get 'students','1001'
COLUMN                                           CELL                                                                                                                                          
 address:city                                    timestamp=1502172494982, value=BeiJing                                                                                                        
 address:province                                timestamp=1502172919511, value=Hebei                                                                                                          
 info:name                                       timestamp=1502172821032, value=lisi                                                                                                           
 info:sex                                        timestamp=1502171941941, value=0                                                                                                              
4 row(s) in 0.3110 seconds
  • 获取行健为1001且列族为address的学生信息
hbase(main):026:0> get 'students','1001','address'
COLUMN                                           CELL                                                                                                                                          
 address:city                                    timestamp=1502172494982, value=BeiJing                                                                                                        
 address:province                                timestamp=1502172919511, value=Hebei                                                                                                          
2 row(s) in 0.0380 seconds
  • 获取行健为1001、列族为address、列为ciry的学生信息
hbase(main):027:0> get 'students','1001','address:city'
COLUMN                                           CELL                                                                                                                                          
 address:city                                    timestamp=1502172494982, value=BeiJing                                                                                                        
1 row(s) in 0.1150 seconds
  • 获取所有的学生信息
hbase(main):028:0> scan 'students'
ROW                                              COLUMN+CELL                                                                                                                                   
 1001                                            column=address:city, timestamp=1502172494982, value=BeiJing                                                                                   
 1001                                            column=address:province, timestamp=1502172919511, value=Hebei                                                                                 
 1001                                            column=info:name, timestamp=1502172821032, value=lisi                                                                                         
 1001                                            column=info:sex, timestamp=1502171941941, value=0                                                                                             
 1002                                            column=info:name, timestamp=1502173540238, value=wangwu                                                                                       
 1003                                            column=info:sex, timestamp=1502173566515, value=1                                                                                             
3 row(s) in 0.1370 seconds

删除数据

#删除列族中的某个列
#删除students表行健1001,列族为address,列为city的数据
hbase(main):036:0> delete 'students','1001','address:city'
0 row(s) in 0.1750 seconds

删除前:
这里写图片描述
删除后:删除了列族中列city为BeiJing的数据
这里写图片描述

#删除整行数据

hbase(main):049:0> deleteall 'students','1002'
0 row(s) in 0.0510 seconds

使用scan 命令可以查看到students的历史记录,可以看到已被删除的列族,修改前的数据

scan 'students',{RAW => true,VERSION => 10}

清空表中所有数据

hbase(main):010:0> truncate 'students'
Truncating 'students' table (it may take a while):
 - Disabling table...
 - Truncating table...
0 row(s) in 5.5080 seconds

hbase(main):012:0> scan 'students'
ROW                                              COLUMN+CELL                                                                                                                                   
0 row(s) in 0.2060 seconds

查看表中的总记录数(count)

hbase(main):001:0> count 'students'
2 row(s) in 1.7030 seconds

=> 2

hbase(main):002:0> scan 'students'
ROW                                              COLUMN+CELL                                                                                                                                   
 1001                                            column=address:province, timestamp=1502172919511, value=Hebei                                                                                 
 1001                                            column=info:name, timestamp=1502172821032, value=lisi                                                                                         
 1001                                            column=info:sex, timestamp=1502171941941, value=0                                                                                             
 1003                                            column=info:sex, timestamp=1502173566515, value=1                                                                                             
2 row(s) in 0.3620 seconds
HBASE SHELL实践 =================================================================== 3. 接下来测试运行HBase。第一步:首先登陆ssh,之前设置了无密码登陆,因此这里不需要密码;再切换目录至/usr/local/hadoop ;再启动hadoop,如果已经启动hadoop请跳过此步骤。命令如下: ssh localhost cd /us... 阅读详情

相关推荐

Hbase shell命令的使用

本实验任务主要完成基于ubuntu环境掌握Hbase shell命令的使用的工作。通过完成本实验任务,要求学生熟练掌握Hbase shell命令的使用的方法,为后续实验的开展奠定Hbase平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。1、掌握Hbase shell命令的使用Ubuntu(三台节点:mater,slave1,slave2)、Hadoop2.7.3、Zookeeper3.4.5、Hbase1.2.6Hbase是一个分布式的、面向列的开源数据库,该技术来

需要远程指导仿真实验、代码有问题的,请后台私信或者关注公众号 4154

hbase shell行键过滤正则匹配

在实际运维生产环境的过程中,经常遇到需要过滤rowkey包含部分字符的场景。以下列出可行的几种操作方式。

qq_36382892的博客 1496

Ubuntu 22.04 实战:为WIFI6网卡Realtek RTL8852BE手动编译驱动指南

本文详细介绍了在Ubuntu 22.04系统上为Realtek RTL8852BE WIFI6网卡手动编译驱动的完整指南。从问题诊断、环境准备到源码获取、编译安装,逐步解决驱动缺失问题,并提供常见问题排查和性能优化建议,帮助用户充分发挥WIFI6网卡性能。

weixin_30808693的博客 479

[HBase基础]--RowKey查询(Scan和Get比较)

一、HBase查询方式    hbase的查询实现只提供两种方式:按指定rowkey获取唯一一条记录:get方法。按指定条件获取一批记录:scan方法。    实现条件查询功能使用的就是scan方式,scan在使用时有以下几点值的注意:scan可以通过setCaching与setBatch方法提高速度(以空间换时间)scan可以通过setStartRow与setEndRow来限定范围。范围越小,性...

欢迎来到我的博客,一起探索代码里的世界! 2万+

【YOLOV5-5.x 源码讲解】整体项目文件导航

前言 这个项目是github的开源项目,YOLOV5:https://github.com/ultralytics/yolov5,目前已经有14.1k个Star 和 4.9k 个Folk了,非常的火。下面我会给大家逐个的文件介绍这个项目中的所有代码,希望能帮到大家。 我下的2021年4月12日更新的v5.0版本,整个项目我做了一点点的文件位置的改变,也加了点自己在其他论文中学到的tricks,不过我没有删除它源码任何一个代码。下面我会按文件逐个函数的进行攻破,因为我本人也还是研一,肯定会有很多的不足,希望大

qq_38253797的博客 6万+

国产麒麟系统下Kettle安装避坑指南:解决aarch64架构不支持问题

本文详细解析了在国产麒麟系统上部署Kettle时遇到的aarch64架构不支持问题,提供了从获取适配的SWT库、修改启动脚本到生产环境调优的完整解决方案。文章重点解决了ARM架构与Java GUI工具的兼容性挑战,并分享了内存配置、字体显示及Carte服务部署等实战经验,助力用户在国产化环境中稳定运行ETL流程。

weixin_29197835的博客 561

HBase的预分区和rowkey设计技巧

@TOC HBase的预分区 1、为何要预分区? 增加数据读写效率 负载均衡,防止数据倾斜 方便集群容灾调度region 优化Map数量 2、如何预分区? 每一个region维护着startRow与endRowKey,如果加入的数据符合某个region维护的rowKey范围,则该数据交给这个region维护。 3、如何设定预分区? 1、手动指定预分区 hbase(main):001:0> create ‘staff’,‘info’,‘partition1’,SPLITS => [‘1000’

weixin_44853953的博客 1123

用Navicat轻松管理魔兽世界私服数据库:修改IP、添加装备的实用技巧

本文详细介绍了如何使用Navicat管理魔兽世界私服数据库,包括修改服务器IP、添加自定义装备和调整角色属性等实用技巧。通过专业的SQL操作指南,帮助玩家轻松实现私服的高级定制,提升游戏体验。

fanta的博客 941

Hbase之RowKey设计

1.什么是Rowkey RowKey是Hbase中一行数据的记录,Hbase通常通过get(得到特定rowkey的一行的数据),scan(通过startRow和stopRow确定范围来检索),全表扫描的方式检索数据。 2.rowkey在Region中的作用 当大量请求访问HBase集群的一个或少数几个节点,造成少数RegionServer的读写请求过多、负载过大,而其他RegionServer负载却很小,这样就造成热点现象。大量访问会使热点。Region所在的主机负载过...

lslslslslss的博客 1276

win11禁止更新,草履虫教程

本文介绍了彻底禁止Windows 11系统更新的组合方法,包括禁用核心服务、修改注册表、关闭计划任务和使用组策略(专业版适用)。作者特别提醒,禁止更新会影响系统安全性,建议实体机保持更新,仅虚拟机等特殊情况下使用这些方法。同时强调即使禁用更新,也应定期手动检查重要安全补丁。文章最后附上了作者的个人网站信息。

testwzc1的博客 561

Python+gensim【中文LDA】简洁模型

文章目录完整代码过程详解words_lsdictionarydictionary.doc2bow函数corpuslda 完整代码 from gensim import corpora, models import jieba.posseg as jp # 待分析文本集 text1 = '美国教练坦言,没输给中国女排,是输给了郎平' text2 = '中国女排世界排名第一?真实水平如何,听听巴西和美...

ArYe 2万+

Hbase通过rowkey进行模糊查询

现在越来越多的人都在转行做大数据了,但是大数据数据的操作还是那么的难懂。 我们根据业务场景需求,肯定还是需要进行在上T数据中查询部分数据的,那就是通过rowkey的方式进行模糊查询。 hbase shell #通过hbase client 登录hbase list #列出当前系统中存储的数据库表 scan 'tablename',{STARTROW=>'rowkey_name_p...

Linux学习与应用 2万+

【STK】手把手教你利用STK进行进行光电红外仿真02-STK/EOIR模块属性之一 传感器选项设置

EOIR传感器可以从空间几何属性、光谱属性、光学属性、辐射属性四个方面进行设置,并且可以设置信号传播路径中的大气特性,包括大气模型、气溶胶模型、气象学可见性和大气湿度。在定义EOIR传感器时,需要Sensor——Definition属性页中,将Sensor Type设置为EOIR。单击下面的按钮打开传感器的EOIR配置页,可以对传感器的属性进行配置,此外,还可以在场景中视情况添加相关的中心体。路径辐射损耗影响上述特性的计算,计算的结果考虑了传感器、目标位置的影响,但是还没考虑地球临边背景的影响。

weixin_44184852的博客 3201

HBase Shell

HBase Shell命令

qq_51180928的博客 2041

基于Simulink雷达系统建模仿真(附源码)

此示例显示如何设置由发射器、带目标的信道和接收器组成的雷达系统仿真。一、系统架构该系统包括:雷达脉冲发生器,以 2% 占空比(导通时间 = 2 ms,周期 = 100 ms)输出功率为 1 mW 的啁啾声。RF发射器部分由滤波器和组成,使用RF模块集电路包络库模块实现。由于滤波器是线性器件,放大器是非线性器件,因此它们被分成两个独立的子系统。这种分离允许在每个子系统中使用不同的仿真频率集。这种分离还允许在更快的仿真速度和级联链中可用的级间负载效应损失之间进行权衡。

珞瑜的博客 4581

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

HBase Shell命令大全

HBase关键名称: Row Key 列族 column family 单元 Cell 时间戳 timestamp HBase Shell 是官方提供的一组命令,用于操作HBase。如果配置了HBase的环境变量了,就可以知己在命令行中输入hbase shell 命令进入命令行。 hbase shell help命令 可以通过 help '命名名称'来查看命令行的具体使用 查询服务器状态st...

人不风流枉少年 14万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

HBASE Shell

hbase提供了一个shell的终端给用户交互 名称 命令表达式 创建表 create '表名称', '列族名称1','列族名称2','列族名称N' 添加记录      put '表名称', '行名称', '列名称:', '值' 查看记录 get '表名称', '行名称'

大数据 917

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HBASE SHELL学习

HBASE SHELL学习

2301_77836489的博客 1820

hbase shell 练习

参考: 1. http://wiki.apache.org/hadoop/Hbase/Shell 2. http://uestzengting.iteye.com/blog/1140175 3. http://blog.youkuaiyun.com/hguisu/article/details/7244413 HBASE SHELL 常用命令 . 说明:新版hbase取消了对HQ

ChallenChenZhiPeng的专栏 1562

HBase 部署及shell操作

HBase 部署及shell操作

slb190623的博客 1941

Hbase基础(二)——Hbase Shell

本篇文章主要讲述Hbase Shell的基本操作,如通用操作、DDL操作、DML操作,使读者能够对于Hbase Shell有基本的认识。

weixin_63507910的博客 628

HBase Shell命令

HBase包含可以与HBase进行通信的Shell。 HBase使用Hadoop文件系统来存储数据。所有这些任务发生在HDFS。下面给出的是一些由 常用的HBase Shell命令。 数据操纵语言 命令 说明 命令表达式 create 创建一个表 create '表名称', '列名称1','列名称2','列名称N' put 添加记录 put '表名称...

常年被追砍的博客 278

hbase shell 查看列名_HBase Shell命令

【hbase shell命令】进入命令行:hbase shell查看所有表:list查询表:scan "库名:表名",{LIMIT => 10}举例:scan "COSCP:TAG_CUST_BASE",{LIMIT => 10}查询表全部数据:scan '库名:表名'查询某一字段:get 'COSCP:TAG_CUST_BASE','9c97df04c75c7741c2a7f753b...

weixin_39848998的博客 4669

【hdfs】【hBase】【大数据技术基础】 作业二 HBase shell命令

业2 hbase-shell命令 一、运行HBase 1.启动hadoop 首先登陆ssh,之前设置了无密码登陆,因此这里不需要密码; 再切换目录至/usr/local/hadoop ; 再启动hadoop,如果已经启动hadoop请跳过此步骤。 命令如下: ssh localhost cd /usr/local/hadoop ./sbin/start-dfs.sh 2.验证hadoop是否启动 输入命令jps 能看到NameNode,DataNode和SecondaryNameNode都已经成功启动

Kika写代码的博客 1438

HBASE 安装后 hbase shell 启动失败问题

1, 安装HBASE, 并且启动成功 [root@MASTER opt]# jps 21920 SecondaryNameNode 2273 HMaster 21441 NameNode 5490 ResourceManager 1844 QuorumPeerMain 2501 HRegionServer 21653 DataNode 3532 Jps 22236 No

reylee的博客 1万+

hbase的shell使用

hbase shell 命令行演示

六根绳的博客 399
上一篇: HBase之JavaAPI
下一篇: HBase与RDBMS&HDFS对比
C_FuL
博客等级 码龄10年 15粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值