我是靠谱客的博主 糟糕眼神,最近开发中收集的这篇文章主要介绍hbase 删除表 java_hbase javaAPI创建,删除,查询表操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

package hbase;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.hbase.HBaseConfiguration;

import org.apache.hadoop.hbase.HColumnDescriptor;

import org.apache.hadoop.hbase.HTableDescriptor;

import org.apache.hadoop.hbase.KeyValue;

import org.apache.hadoop.hbase.MasterNotRunningException;

import org.apache.hadoop.hbase.TableName;

import org.apache.hadoop.hbase.ZooKeeperConnectionException;

import org.apache.hadoop.hbase.client.Delete;

import org.apache.hadoop.hbase.client.Get;

import org.apache.hadoop.hbase.client.HBaseAdmin;

import org.apache.hadoop.hbase.client.HTable;

import org.apache.hadoop.hbase.client.HTablePool;

import org.apache.hadoop.hbase.client.Result;

import org.apache.hadoop.hbase.client.ResultScanner;

import org.apache.hadoop.hbase.client.Scan;

import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;

import org.apache.hadoop.hbase.filter.Filter;

import org.apache.hadoop.hbase.filter.FilterList;

import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;

import org.apache.hadoop.hbase.util.Bytes;

import org.junit.Test;

public class MyHbase {

public static Configuration conf;

static {

conf = HBaseConfiguration.create();

conf.set("hbase.zookeeper.property.clientPort", "2181");

conf.set("hbase.zookeeper.quorum", "192.168.17.6,192.168.17.7,192.168.17.8");

conf.set("hbase.master", "192.168.17.5:60000");

}

public static void createTable(String tableName){

try {

HBaseAdmin hbaseAdmin = new HBaseAdmin(conf);

if(hbaseAdmin.tableExists(tableName)){

hbaseAdmin.disableTable(tableName);

hbaseAdmin.deleteTable(tableName);

}

HTableDescriptor hTableDescriptor = new HTableDescriptor();

hTableDescriptor.addFamily(new HColumnDescriptor(tableName));

hbaseAdmin.createTable(hTableDescriptor);

} catch (MasterNotRunningException e) {

} catch (ZooKeeperConnectionException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void dropTable(String tableName) {

try {

HBaseAdmin admin = new HBaseAdmin(conf);

admin.disableTable(tableName);

admin.deleteTable(tableName);

} catch (MasterNotRunningException e) {

e.printStackTrace();

} catch (ZooKeeperConnectionException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void deleteRow(String tablename, String rowkey) {

try {

HTable table = new HTable(conf, tablename);

List list = new ArrayList();

Delete d1 = new Delete(rowkey.getBytes());

list.add(d1);

table.delete(list);

System.out.println("删除行成功!");

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 查询所有数据

* @param tableName

*/

public static void QueryAll(String tableName) {

HTablePool pool = new HTablePool(conf, 1000);

HTable table = (HTable) pool.getTable(tableName);

try {

ResultScanner rs = table.getScanner(new Scan());

for (Result r : rs) {

System.out.println("获得到rowkey:" + new String(r.getRow()));

for (KeyValue keyValue : r.raw()) {

System.out.println("列:" + new String(keyValue.getFamily())

+ "====值:" + new String(keyValue.getValue()));

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 单条件查询,根据rowkey查询唯一一条记录

* @param tableName

*/

public static void QueryByCondition1(String tableName) {

HTablePool pool = new HTablePool(conf, 1000);

HTable table = (HTable) pool.getTable(tableName);

try {

Get scan = new Get("abcdef".getBytes());// 根据rowkey查询

Result r = table.get(scan);

System.out.println("获得到rowkey:" + new String(r.getRow()));

for (KeyValue keyValue : r.raw()) {

System.out.println("列:" + new String(keyValue.getFamily())

+ "====值:" + new String(keyValue.getValue()));

}

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 单条件按查询,查询多条记录

* @param tableName

*/

public static void QueryByCondition2(String tableName) {

try {

HTablePool pool = new HTablePool(conf, 1000);

HTable table = (HTable) pool.getTable(tableName);

Filter filter = new SingleColumnValueFilter(Bytes

.toBytes("column1"), null, CompareOp.EQUAL, Bytes

.toBytes("aaa")); // 当列column1的值为aaa时进行查询

Scan s = new Scan();

s.setFilter(filter);

ResultScanner rs = table.getScanner(s);

for (Result r : rs) {

System.out.println("获得到rowkey:" + new String(r.getRow()));

for (KeyValue keyValue : r.raw()) {

System.out.println("列:" + new String(keyValue.getFamily())

+ "====值:" + new String(keyValue.getValue()));

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 多个过滤器组合条件查询

* @param tableName

*/

public static void QueryByCondition3(String tableName) {

try {

HTablePool pool = new HTablePool(conf, 1000);

HTable table = (HTable) pool.getTable(tableName);

List filters = new ArrayList();

Filter filter1 = new SingleColumnValueFilter(Bytes

.toBytes("column1"), null, CompareOp.EQUAL, Bytes

.toBytes("aaa"));

filters.add(filter1);

Filter filter2 = new SingleColumnValueFilter(Bytes

.toBytes("column2"), null, CompareOp.EQUAL, Bytes

.toBytes("bbb"));

filters.add(filter2);

Filter filter3 = new SingleColumnValueFilter(Bytes

.toBytes("column3"), null, CompareOp.EQUAL, Bytes

.toBytes("ccc"));

filters.add(filter3);

FilterList filterList1 = new FilterList(filters);

Scan scan = new Scan();

scan.setFilter(filterList1);

ResultScanner rs = table.getScanner(scan);

for (Result r : rs) {

System.out.println("获得到rowkey:" + new String(r.getRow()));

for (KeyValue keyValue : r.raw()) {

System.out.println("列:" + new String(keyValue.getFamily())

+ "====值:" + new String(keyValue.getValue()));

}

}

rs.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

createTable("mytable");

}

}

最后

以上就是糟糕眼神为你收集整理的hbase 删除表 java_hbase javaAPI创建,删除,查询表操作的全部内容,希望文章能够帮你解决hbase 删除表 java_hbase javaAPI创建,删除,查询表操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部