在Hadoop目录下的HBASE下执行命令 ./hbase shell 进入hbase环境

创建hbase 数据库表 create "表名", "字段A","字段B"。。。。

删除表     首先desable "表名"  然后drop "表名"

查看表机构 desc "表名"

查看所有表名 list

查看表数据 scan "表名"

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一. 介绍

HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。

HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族/列簇(column family)。

如上图所示,key1, key2, key3是三条记录的唯一的row key值,column-family1, column-family2, column-family3是三个列族,每个列族下又包括几列。比如 column-family1这个列族下包括两列,名字是column1和column2。t1:abc,t2:gdxdf是由row key1和column-family1-column1唯一确定的一个单元cell。这个cell中有两个数据,abc和gdxdf。两个值的时间戳不一样,分别是t1,t2, hbase会返回最新时间的值给请求者。

二. 安装

下载HBase最新版本,放到合适的目录,比如/usr/local 或 /opt

之后解压

tar -zxvf hbase-x.y.z tar.gz

三. 命令行操作

进入解压后的目录,开启hbase,启动hbase shell

bin/start-hbase.sh
bin/hbase shell

输入 help  可以看到命令分组

部分命令清单

下边分组举例

general操作

查询服务器状态   status

查询hbase版本   version

ddl操作

操作 命令表达式 注意
创建表 create 'table_name, 'family1','family2','familyN'
添加记录       put 'table_name', 'rowkey', 'family:column', 'value'
查看记录 get 'table_name', 'rowkey'    查询单条记录,也是hbase 最常用的命令
查看表中的记录总数 count  'table_name' 这个命令并不快,且目前没有找到更快的方式统计行数
删除记录 delete 'table_name' ,'rowkey','family_name:column'
deleteall 'table_name','rowkey' 第一种方式删除一条记录单列的数据
第二种方式删除整条记录

删除一张表 1、disable 'table_name' 
2、drop 'table_name'
查看所有记录 scan "table_name" ,{LIMIT=>10} LIMIT=>10 只返回10条记录,否则将全部展示
1. 创建一个表

create 'table1', 'tab1_id', 'tab1_add', 'tab1_info'
2. 列出所有的表

list

3. 获得表的描述

describe "table1"

4. 删除一个列族  disable alter enable

disable 'table1'
alter 'table1', {NAME=>'tab1_add', METHOD=>'delete'}
enable 'table1'
5. 查看表是否存在

exists 'table2'

6. 判断表是否为‘enable’

is_enabled 'table1'
判断表是否为‘disable’

is_disabled 'table1'
7. 删除一个表

disable 'table1'
drop 'table1'

dml操作

1. 插入几条记录

1
2
3
4
5
6
put 'member', 'scutshuxue', 'info:age', '24'
put 'member', 'scutshuxue', 'info:birthday', '1987-06-17'
put 'member', 'scutshuxue', 'info:company', 'alibaba'
put 'member', 'scutshuxue', 'address:contry', 'china'
put 'member', 'scutshuxue', 'address:province', 'zhejiang'
put 'member', 'scutshuxue', 'address:city', 'hangzhou'
2. 全表扫描  scan

3. 获得数据 get

3.1 获得一行的所有数据

3.2 获得某行,某列族的所有数据

3.3 获得某行,某列族,某列的所有数据

4. 更新一条记录  put(把scutshuxue年龄改为99)

put 'member', 'scutshuxue', 'info:age', 99
5. 删除 delete、 deleteall

5.1 (删除行'scutshuxue', 列族为‘info' 中age的值

delete 'member', 'scutshuxue', 'info:age'
5.2 删除整行

deleteall 'member', 'scutshuxue'
6. 查询表中有多少行

count 'member'
7. 给‘xiaoming’这个id增加'info:age'字段,并使用counter实现递增

incr 'member', 'xiaoming', 'info:age'
8. 将整个表清空

truncate 'member'

---------------------
作者:盛装吾步
来源:CSDN
原文:https://blog.csdn.net/kangkangwanwan/article/details/60960731
版权声明:本文为博主原创文章,转载请附上博文链接!

hbase基础建表语句的更多相关文章

  1. 三种常用的MySQL建表语句

    MySQL建表语句是最基础的SQL语句之一,下面就为您介绍最常用的三种MySQL建表语句,如果您对MySQL建表语句方面感兴趣的话,不妨一看. 1.最简单的: CREATE TABLE t1(    ...

  2. oracle基本建表语句

    oracle基本建表语句 2010-09-20 10:37:33|  分类: 数据库 |  标签:数据库  oracle  |字号 订阅 --创建用户create user han identifie ...

  3. 基于表的数据字典构造MySQL建表语句

    表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...

  4. hive查看建表语句

    查看hive建表语句:show create table tablename; 查看hive表结构:describe  tablename; 简写:desc tablename;

  5. 批量导出hive表的建表语句

    转的这里的 首先先导出所有的table表 hive -e "use xxxdb;show tables;" > tables.txt 然后再使用hive内置语法导出hive表 ...

  6. 根据javabean转换为mysql建表语句与mapper内容

    原文地址:  https://www.cnblogs.com/Jeffscnblog/p/10072483.html 一般上,我们会使用数据库表转换为javabean.dao.或是mapper,就叫逆 ...

  7. MySQL 建表语句 create table 中的列定义

    MySQL 建表语句 create table 中的列定义: column_definition: data_type [NOT NULL | NULL] [DEFAULT default_value ...

  8. excel的宏与VBA实践——建表语句

    一.建表语句 不带分区版本:V1.0: Sub createTableDDL() '自动创建建表语句 '定义换行和TAB Ln = ) + ) TB = ) '定义脚本目录 Dim dir AS St ...

  9. sqlserver 表中记录生成insert,可以加条件,可以生成建表语句

    sqlserver 表中记录生成insert,可以加条件,可以生成建表语句 create PROCEDURE [sp_getinsert] ( ) , --如果非默认架构,可以加上架构名 例如:sch ...

随机推荐

  1. ArcGIS紧凑型缓存存储格式分析

    by 蔡建良 2018-8-24 网络中我看到的网文将bundle存储切片数据的方式都没说清或是说错.按照错误方法一样可以在桌面浏览,但在arcgis for android却无法浏览. bundlx ...

  2. ES6系列之解构

    本系列是在平时阅读.学习.实际项目中有关于es6中的新特性.用发的简单总结,目的是记录以备日后温习:本系列预计包含let/const.箭头函数.解构.常用新增方法.Symbol.Set&Map ...

  3. mysql 5.7 enable binlog

    0. precondition a) install mysql 5.7, for  detail please refer my blog post. 1. login mysql and chec ...

  4. liunx vi 学习

    vi有两种状态:命令态和编辑态 命令态中常用的命令: 上下左右移动的处理4个箭头外还有h(左),j(下),k(上),l(右) 调到屏幕显示的首行H,尾行L,x行:xG 0将光标移动到行首:$到行尾,M ...

  5. eclipse连接mysql数据库

    我这里在eclipse新建一个maven 项目做测试 首先我们要在本地电脑安装了mysql数据库和mysql驱动包 我的mysql数据库是通过phpstudy自带的 这个是驱动包 window–> ...

  6. 关于Unsupported major.minor version 52.0解决方案的补充

    参考:https://blog.csdn.net/jingtianyiyi/article/details/80455916 补充: 这个设置比较容易忽略: 在eclipse中新建tomcat或在原有 ...

  7. 使用DatagramSocket和DatagramPacket进行简单的通信

    DatagramSocket此类表示用来发送和接收数据报包的套接字. DatagramPacket此类表示数据报包. package cn.sxt.UdpDemo; import java.io.IO ...

  8. django2.0再写一行代码

    基础 @LTS长期支持 @django-admin startproject xxx python manage.py runserver python manage.py startapp xxx ...

  9. java中PriorityBlockingQueue 和DelayedWorkQueue 区别

    java中PriorityBlockingQueue 和DelayedWorkQueue 区别

  10. Json.Net(Newtonsoft)系列教程 4.Linq To JSON

    转自:https://www.cnblogs.com/sczmzx/p/7813834.html   一.Linq to JSON是用来干什么的? Linq to JSON是用来操作JSON对象的.可 ...