Hbase记录-HBase基本操作(二)
HBase Exists
可以使用exists命令验证表的存在。下面的示例演示了如何使用这个命令。
hbase(main):024:0> exists 'emp'
Table emp does exist 0 row(s) in 0.0750 seconds ================================================================== hbase(main):015:0> exists 'student'
Table student does not exist 0 row(s) in 0.0480 seconds
使用Java API验证表的存在
可以使用HBaseAdmin类的tableExists()方法验证表在HBase中是否存在。按照下面给出的步骤验证HBase表存在。
第1步
Instantiate the HBaseAdimn class // Instantiating configuration object
Configuration conf = HBaseConfiguration.create(); // Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf);
第2步
使用tableExists()方法来验证表的存在。
下面给出的是使用java程序中的Java API来测试一个HBase表的存在。
import java.io.IOException; import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.HBaseAdmin; public class TableExists{ public static void main(String args[])throws IOException{ // Instantiating configuration class
Configuration conf = HBaseConfiguration.create(); // Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf); // Verifying the existance of the table
boolean bool = admin.tableExists("emp");
System.out.println( bool);
}
}
编译和执行上述程序如下所示。
$javac TableExists.java
$java TableExists
下面列出的是输出:
true
HBase删除表
用drop命令可以删除表。在删除一个表之前必须先将其禁用。
hbase(main):018:0> disable 'emp'
0 row(s) in 1.4580 seconds hbase(main):019:0> drop 'emp'
0 row(s) in 0.3060 seconds
使用exists 命令验证表是否被删除。
hbase(main):020:0> exists 'emp'
Table emp does not exist 0 row(s) in 0.0730 seconds
drop_all
这个命令是用来在给出删除匹配“regex”表。它的语法如下:
hbase> drop_all ‘t.*’
注意:要删除表,则必须先将其禁用。
示例
假设有一些表的名称为raja, rajani, rajendra, rajesh, 和 raju。
hbase(main):017:0> list
TABLE
raja
rajani
rajendra
rajesh
raju
9 row(s) in 0.0270 seconds
所有这些表以字母raj开始。首先使用disable_all命令禁用所有这些表如下所示。
hbase(main):002:0> disable_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?
y
5 tables successfully disabled
现在,可以使用 drop_all 命令删除它们,如下所示。
hbase(main):018:0> drop_all 'raj.*'
raja
rajani
rajendra
rajesh
raju Drop the above 5 tables (y/n)? y
5 tables successfully dropped
使用Java API删除表
可以使用 HBaseAdmin 类的deleteTable()方法删除表。按照下面给出是使用Java API来删除表中的步骤。
第1步
实例化HBaseAdmin类。
// creating a configuration object
Configuration conf = HBaseConfiguration.create(); // Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
第2步
使用HBaseAdmin类的disableTable()方法禁止表。
admin.disableTable("emp1");
第3步
现在使用HBaseAdmin类的deleteTable()方法删除表。
admin.deleteTable("emp12");
下面给出的是完整的Java程序用于删除HBase表。
import java.io.IOException; import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.HBaseAdmin; public class DeleteTable { public static void main(String[] args) throws IOException { // Instantiating configuration class
Configuration conf = HBaseConfiguration.create(); // Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf); // disabling table named emp
admin.disableTable("emp12"); // Deleting emp
admin.deleteTable("emp12");
System.out.println("Table deleted");
}
}
编译和执行上述程序如下所示。
$javac DeleteTable.java
$java DeleteTable
下面是输出结果:
Table deleted
HBase关闭
exit
可以通过键入exit命令退出shell。
hbase(main):021:0> exit
停止HBase
要停止HBase,浏览进入到HBase主文件夹,然后键入以下命令。
./bin/stop-hbase.sh
使用Java API停止HBase
可以使用HBaseAdmin类的shutdown()方法关闭HBase。按照下面给出关闭HBase的步骤:
第1步
实例化HbaseAdmin类。
// Instantiating configuration object
Configuration conf = HBaseConfiguration.create(); // Instantiating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
第2步
使用HBaseAdmin类的shutdown()方法关闭HBase。
admin.shutdown();
下面给出的是停止HBase的程序。
import java.io.IOException; import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.HBaseAdmin; public class ShutDownHbase{ public static void main(String args[])throws IOException { // Instantiating configuration class
Configuration conf = HBaseConfiguration.create(); // Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf); // Shutting down HBase
System.out.println("Shutting down hbase");
admin.shutdown();
}
}
编译和执行上述程序如下所示。
$javac ShutDownHbase.java
$java ShutDownHbase
下面是输出结果:
Shutting down hbase
Hbase记录-HBase基本操作(二)的更多相关文章
- Hbase记录-Hbase基础概念
HBase是什么? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库.它是一个开源项目,是横向扩展的. HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数 ...
- Hbase记录-Hbase shell使用
HBase Shell HBase包含可以与HBase进行通信的Shell. HBase使用Hadoop文件系统来存储数据.它拥有一个主服务器和区域服务器.数据存储将在区域(表)的形式.这些区域被分割 ...
- Hbase记录-HBase基本操作(一)
HBase创建表 可以使用命令创建一个表,在这里必须指定表名和列族名.在HBase shell中创建表的语法如下所示. create ‘<table name>’,’<column ...
- Hbase记录-HBase性能优化指南
垃圾回收优化当region服务器处理大量的写入负载时,繁重的任务会迫使JRE默认的内存分配策略无法保证程序的稳定性 所以我们可能需要对region服务器的垃圾回收机制进行一些参数调整(因为master ...
- Hbase记录-Hbase介绍
Hbase是什么 HBase是一种构建在HDFS之上的分布式.面向列的存储系统,适用于实时读写.随机访问超大规模数据的集群. HBase的特点 大:一个表可以有上亿行,上百万列. 面向列:面向列表(簇 ...
- Hbase记录-Hbase shell使用命令
1.进入hbase shell 执行./bin/hbase shell 2.进入后,help 帮助信息,如可以使用help 'create' 3.创建表:create 'test','cf' 表 ...
- Hbase记录-hbase部署
#版本支持 #官网下载二进制包,解压到/usr/app下,配置/etc/profile: export HBASE_HOME=/usr/app/hbase export PATH=$HBASE_HOM ...
- Hbase记录-Hbase配置项
hbase.tmp.dir:本地文件系统的临时目录,默认是java.io.tmpdir/hbase−java.io.tmpdir/hbase−{user.name}: hbase.rootdir:hb ...
- Hbase记录-HBase扫描/计数/权限
HBase扫描 scan 命令用于查看HTable数据.使用 scan 命令可以得到表中的数据.它的语法如下: scan ‘<table name>’ 下面的示例演示了如何使用scan ...
随机推荐
- What is the difference between apache tomcat deployer and core version? - Stack Overflow
java - What is the difference between apache tomcat deployer and core version? - Stack Overflowhttps ...
- STL数据结构
priority_queue "C++ reference"上如此解释priority queue:"This context is similar to a heap, ...
- TFS2018 linux Agent的安装
1. 感谢徐蕾老师的文档,根据文档简单学会了TFS agent的安装,在此简单记录一下: 前置条件: CentOS7.4 or CentOS7.5的版本 安装的软件有git 2.17 dotnet s ...
- [转帖] BIO与NIO、AIO的区别
培训里面讲的东西 自己查了下 啥意思,,, 转帖强化一下. http://blog.csdn.net/skiof007/article/details/52873421 IO的方式通常分为几种,同步 ...
- PP学习笔记-业务基础
生产主数据.生产计划.生产订单与生产执行 生产模块主要子模块及功能:PP-BD 基本数据管理 PP-SFC车间订单管理 PP-MRP物料需求计划 PP-MPS主生产计划 PP-CRP能力计划 PP-I ...
- Delphi下EasyGrid使用体会
最近在编写软件的时候,非常需要一款支持多表头的StringGrid控件,朋友介绍使用EasyGrid控件,这款控件大概从04年开始就没有再更新,网上有关与它的资料也较少.但是通过其demo,此软件还是 ...
- linux需要你的不懈努力
自己二十几年的求学生涯,总结出:天赋固然重要,但是最为重要的还是要有一个持之以恒的心,而且还要有科学的学习方法,不只是针对今天的主题linux,无论我们从事什么行业这都是不变的法则. 刚刚从一个稚嫩的 ...
- pgm15
这部分我们讨论结构学习,也就是 graph 的边我们并不清楚.很自然我们可以用 fully observed 数据来做,但是也可能碰到有 missing data 的情况.一般来说前者是比较常见的.就 ...
- 【Luogu4630】【APIO2018】 Duathlon 铁人两项 (圆方树)
Description 给你一张\(~n~\)个点\(~m~\)条边的无向图,求有多少个三元组\(~(x, ~y, ~z)~\)满足存在一条从\(~x~\)到\(~z~\)并且经过\(~y~\)的 ...
- 自学Zabbix2.3-服务器端server安装过程
点击返回:自学Zabbix之路 ....