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 ...
随机推荐
- FMDB数据库升级
FMDBMigrationManager 是与FMDB结合使用的一个第三方,可以记录数据库版本号并对数据库进行数据库升级等操作.首先要集成FMDB和FMDBMigrationManager,建议使用c ...
- NAT模式下VMware中CentOS7无法连接外网的解决方法
故障现象 ----------------------------------------------------------------------------------------------- ...
- angular4 组件通讯、生命周期
主要通讯形式 父组件通过属性绑定到子组件,子组件通过事件传递参数到父组件 父组件通过局部变量获取子组件的引用 父组件使用@ViewChild获取子组件的引用 两个不相关联的组件使用中间人模式交互 终极 ...
- 关于python format()用法详解
str.format() 这个特性从python2.6而来 其实实现的效果和%有些类似 不过有些地方更方便 通过位置映射: In [1]: '{0},{1}'.format('kzc',18) Out ...
- awk、sed、grep三大shell文本处理工具之sed的应用
sed 流编辑器 对文本中的行,逐行处理 非交互式的编辑器 是一个编辑器 1.工作流程 1)将文件的第一行读入到自己的缓存空间(模式空间--pattern space),删除掉换行符 2)匹配,看一下 ...
- 常见的HTTP报头(头参数)
本内容摘抄自<RESTful WebServices> 中文译本附录C '常见的HTTP报头'. 原文作者:Leonard Ricbardson & Sam Ruby 翻译:徐涵. ...
- html 列表 ol 、ul 、dl
html的列表分為無序列表(ul).有序列表(ol).自定義列表(dl). 無序列表: 以<ul>開始,列表項以<li>開始: 列表項可以是段落.圖像.連接.換行符.列表等: ...
- chapter4 module and port
如果模块和外界没有交换信号,则可以没有端口列表. 端口隐含声明为wire,如果输出端口需要保存数值,则必须显式声明为reg,如需要保持数值知道下一个时钟边沿
- python 模块之-re
就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹 ...
- LOJ114 k大(xiao)异或和(线性基)
构造线性基后将其消至对任意位至多只有一个元素该位为1.于是就可以贪心了,将k拆成二进制就好.注意check一下是否能异或出0. #include<iostream> #include< ...