博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase总结
阅读量:5293 次
发布时间:2019-06-14

本文共 1931 字,大约阅读时间需要 6 分钟。

  1.HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

  2.Hbase架构

在HBase中,表被分割成区域,并由区域服务器提供服务。区域被列族垂直分为“Stores”。Stores被保存在HDFS文件。上面显示的是HBase的结构。
HBase有三个主要组成部分:客户端库,主服务器和区域服务器。区域服务器可以按要求添加或删除。
 3 常用的命名
   3.1通用的命名
          status: 提供HBase的状态,例如,服务器的数量。
          version: 提供正在使用HBase版本。

         table_help: 表引用命令提供帮助。

          whoami: 提供有关用户的信息

  3.2数据定义语言

create: 创建一个表。

list: 列出HBase的所有表。
disable: 禁用表。
is_disabled: 验证表是否被禁用。
enable: 启用一个表。
is_enabled: 验证表是否已启用。
describe: 提供了一个表的描述。
alter: 改变一个表。
exists: 验证表是否存在。
drop: 从HBase中删除表。
drop_all: 丢弃在命令中给出匹配“regex”的表。
Java Admin API: 在此之前所有的上述命令,Java提供了一个通过API编程来管理实现DDL功能。在这个org.apache.hadoop.hbase.client包中有HBaseAdmin和HTableDescriptor 这两个重要的类提供DDL功能。

3.3

本章介绍了如何使用自带HBase交互shell启动HBase。

HBase Shell

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

主服务器管理这些区域服务器,所有这些任务发生在HDFS。下面给出的是一些由HBase Shell支持的命令。

通用命令

  • status: 提供HBase的状态,例如,服务器的数量。

  • version: 提供正在使用HBase版本。

  • table_help: 表引用命令提供帮助。

  • whoami: 提供有关用户的信息。

数据定义语言

这些是关于HBase在表中操作的命令。

  • create: 创建一个表。
  • list: 列出HBase的所有表。
  • disable: 禁用表。
  • is_disabled: 验证表是否被禁用。
  • enable: 启用一个表。
  • is_enabled: 验证表是否已启用。
  • describe: 提供了一个表的描述。
  • alter: 改变一个表。
  • exists: 验证表是否存在。
  • drop: 从HBase中删除表。
  • drop_all: 丢弃在命令中给出匹配“regex”的表。
  • Java Admin API: 在此之前所有的上述命令,Java提供了一个通过API编程来管理实现DDL功能。在这个org.apache.hadoop.hbase.client包中有HBaseAdmin和HTableDescriptor 这两个重要的类提供DDL功能。

 

       3.3.操作数据库的语言  

put: 把指定列在指定的行中单元格的值在一个特定的表。

get: 取行或单元格的内容。
delete: 删除表中的单元格值。
deleteall: 删除给定行的所有单元格。
scan: 扫描并返回表数据。
count: 计数并返回表中的行的数目。
truncate: 禁用,删除和重新创建一个指定的表。
Java client API: 在此之前所有上述命令,Java提供了一个客户端API来实现DML功能,CRUD(创建检索更新删除)操作更多的是通过编程,在org.apache.hadoop.hbase.client包下。 在此包HTable 的 Put和Get是重要的类。

 

转载于:https://www.cnblogs.com/aibabel/p/10847067.html

你可能感兴趣的文章
Google TensorFlow for GPU安装、配置大坑
查看>>
【转】Android开发之如何保证Service不被杀掉(broadcast+system/app)
查看>>
什么是RUP,什么是敏捷开发,什么是XP(极限编程)
查看>>
DB9针和DB25针串口的引脚定义
查看>>
分段和分页内存管理
查看>>
人工智能教程
查看>>
Redis客户端连接异常
查看>>
小白学数据分析----->移动游戏的使用时长分析
查看>>
静态页面表单提交
查看>>
走进 Spring IOC 的世界
查看>>
【HTML/XML 7】CSS层叠样式表
查看>>
Segmentation fault(Core Dump)
查看>>
SQL Server全文索引 (简单的搜索引擎)
查看>>
关于logstash-out-mongodb插件说明
查看>>
第三届蓝桥杯本科预赛 c++ 第十题
查看>>
redis详解
查看>>
修改列名以及其数据类型
查看>>
实用性较强的idea插件
查看>>
鱼塘钓鱼(fishing)
查看>>
java基础篇---正则表达式
查看>>