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基本操作(二)的更多相关文章

  1. Hbase记录-Hbase基础概念

    HBase是什么? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库.它是一个开源项目,是横向扩展的. HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数 ...

  2. Hbase记录-Hbase shell使用

    HBase Shell HBase包含可以与HBase进行通信的Shell. HBase使用Hadoop文件系统来存储数据.它拥有一个主服务器和区域服务器.数据存储将在区域(表)的形式.这些区域被分割 ...

  3. Hbase记录-HBase基本操作(一)

    HBase创建表 可以使用命令创建一个表,在这里必须指定表名和列族名.在HBase shell中创建表的语法如下所示. create ‘<table name>’,’<column ...

  4. Hbase记录-HBase性能优化指南

    垃圾回收优化当region服务器处理大量的写入负载时,繁重的任务会迫使JRE默认的内存分配策略无法保证程序的稳定性 所以我们可能需要对region服务器的垃圾回收机制进行一些参数调整(因为master ...

  5. Hbase记录-Hbase介绍

    Hbase是什么 HBase是一种构建在HDFS之上的分布式.面向列的存储系统,适用于实时读写.随机访问超大规模数据的集群. HBase的特点 大:一个表可以有上亿行,上百万列. 面向列:面向列表(簇 ...

  6. Hbase记录-Hbase shell使用命令

    1.进入hbase shell  执行./bin/hbase shell 2.进入后,help  帮助信息,如可以使用help 'create' 3.创建表:create 'test','cf'  表 ...

  7. Hbase记录-hbase部署

    #版本支持 #官网下载二进制包,解压到/usr/app下,配置/etc/profile: export HBASE_HOME=/usr/app/hbase export PATH=$HBASE_HOM ...

  8. Hbase记录-Hbase配置项

    hbase.tmp.dir:本地文件系统的临时目录,默认是java.io.tmpdir/hbase−java.io.tmpdir/hbase−{user.name}: hbase.rootdir:hb ...

  9. Hbase记录-HBase扫描/计数/权限

    HBase扫描   scan 命令用于查看HTable数据.使用 scan 命令可以得到表中的数据.它的语法如下: scan ‘<table name>’ 下面的示例演示了如何使用scan ...

随机推荐

  1. MongoDb在windows10下的安装、创建用户和数据库

    1.mongodb下载地址https://www.mongodb.com/download-center#community 2.安装    3.在D:\MongoDB目录下创建db和log两个文件夹 ...

  2. Qt开发之信号槽机制

    一.信号槽机制原理 1.如何声明信号槽 Qt头文件中一段的简化版: class Example: public QObject { Q_OBJECT signals: void customSigna ...

  3. python箱型图

    #-*- coding: utf-8 -*- import pandas as pd catering_sale = '../data/catering_sale.xls' #餐饮数据 data = ...

  4. 关于supervisor 的使用以及配置

    首先我个人认为,用python实现的supervisor使用了守护进程这个概念去实现一个包裹进程的概念. 他可以帮助你的进程完成失效重启,日志记录,确保在线,关机自启动等一系列的功能. 当使用supe ...

  5. 配合es5.8的使用,升级sb版本到2.X,遇到一个问题

    问题:Failed to bind properties under 'spring.redis.jedis.pool.max-wait' to java.time.Duration: Propert ...

  6. yield与递归的组合运用

  7. poj1062昂贵的聘礼(枚举+最短路)

    题意:就是一个点能够被另一个点取代,通过花费一定的金币,注意就是你和某个人交易了,如果这个人的等级和酋长的等级差的绝对值超过m,酋长就不会和你交易了: 思路:这里要注意到,我们最终的目的是找到一条最短 ...

  8. ubuntu 程序后台运行几个方法

    51 1. 程序后加上“&” ,即 “./myjob &”, 将命令放入到一个作业队列中,可以用命令“jobs” 查看 2. 将1中的命令放在 “()”中, 即 “(./myjob & ...

  9. BZOJ5372 PKUSC2018神仙的游戏(NTT)

    首先有一个想法,翻转串后直接卷积看有没有0匹配上1.但这是必要而不充分的因为在原串和翻转串中?不能同时取两个值. 先有一些结论: 如果s中长度为len的前缀是border,那么其存在|s|-len的循 ...

  10. Get The Treasury HDU - 3642(扫描线求三维面积交。。体积交)

    题意: ...就是求体积交... 解析: 把每一层z抽出来,计算面积交, 然后加起来即可..! 去看一下 二维面积交的代码 再看看这个三维面积交的代码.. down函数里 你发现了什么规律!!! 参考 ...