hbase的介绍及使用

本文介绍了HBase的基础知识,包括其依赖HDFS和MapReduce进行数据存储和计算,以及利用ZooKeeper进行服务协调。同时,文章提到了通过shell进行HBase的操作,如使用help获取帮助、执行DDL和DML,尤其是查询操作。
摘要由CSDN通过智能技术生成

HBase 依赖于 HDFS 做底层的数据存储,BigTable 依赖 Google GFS 做数据存储;
HBase依赖于 MapReduce做数据计算,BigTable 依赖 Google MapReduce 做数据计算
HBase 依赖于 ZooKeeper 做服务协调,BigTable 依赖 Google Chubby 做服务协调
1、shell操作
善于运用help查看帮助

help command查询相关命令的帮助
使用help会出现很多命令,其中namespace、ddl、dml是我们学习的重点!!!
Group name: ddl
 Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, 
 drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, 
 locate_region, show_filters

 Group name: namespace
 Commands: alter_namespace, create_namespace, describe_namespace, 
 drop_namespace, list_namespace, list_namespace_tables

 Group name: dml
 Commands: append, count, delete, deleteall, get, get_counter, g**e**t_splits, incr, put, 
 scan, truncate, truncate_preserve

DDL

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

public class HbaseDDL {
	static Configuration conf = null;
	static HBaseAdmin admin = null;
	static Connection conn = null;

	// 创建namespace
	public static void create_namespace() throws IOException {
		NamespaceDescriptor ns = NamespaceDescriptor.create("test_api_1901").build();
		// 参数namespacedescriptor
		admin.createNamespace(ns);
	}

	public static void list_namespace() throws IOException {
		NamespaceDescriptor[] nsDescriptors = admin.listNamespaceDescriptors();
		for (NamespaceDescriptor ns : nsDescriptors) {
			System.out.println(ns.getName());
		}
		
	}
	public static void delete_namespace(String name) throws IOException {
		admin.deleteNamespace(name);
		System.out.println(name+"删除成功!");
	}

	//创建表
	public static void create_table(String name,String...familys) throws IOException {
		//判断是否存在
		if (admin.tableExists(name)) {
			System.out.println(name+"表已存在,请换个表名");
		} else {
			TableName tn = TableName.valueOf(name);
			//参数 tablename对象,表名描述器
			HTableDescriptor table = new HTableDescriptor(tn);
			//一个表至少有一个列簇
			//封装列簇描述器
			for (String f : familys) {
				HColumnDescriptor family = new HColumnDescriptor(f);
				
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值