HBase基本数据操作详解HBase基本数据操作详解.docx

HBase基本数据操作详解HBase基本数据操作详解.docx

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HBase基本数据操作详解HBase基本数据操作详解

概述对于建表,和RDBMS类似,HBase也有namespace的概念,可以指定表空间创建表,也可以直接创建表,进入default表空间。对于数据操作,HBase支持四类主要的数据操作,分别是:Put:增加一行,修改一行;Delete:删除一行,删除指定列族,删除指定column的多个版本,删除指定column的制定版本等;Get:获取指定行的所有信息,获取指定行和指定列族的所有colunm,获取指定column,获取指定column的几个版本,获取指定column的指定版本等;Scan:获取所有行,获取指定行键范围的行,获取从某行开始的几行,获取满足过滤条件的行等。这四个类都是org.apache.hadoop.hbase.client的子类,可以到官网API去查看详细信息,本文仅总结常用方法,力争让读者用20%的时间掌握80%的常用功能。目录1.命名空间Namespace2.创建表3.删除表4.修改表5.新增、更新数据Put6.删除数据Delete7.获取单行Get8.获取多行Scan1. 命名空间Namespace?在关系数据库系统中,命名空间?namespace指的是一个表的逻辑分组,同一组中的表有类似的用途。命名空间的概念为即将到来的多租户特性打下基础:?配额管理(Quota Management (HBASE-8410)):限制一个namespace可以使用的资源,资源包括region和table等;命名空间安全管理(Namespace Security Administration (HBASE-9206)):提供了另一个层面的多租户安全管理;Region服务器组(Region server groups (HBASE-6721)):一个命名空间或一张表,可以被固定到一组regionservers上,从而保证了数据隔离性。1.1.命名空间管理命名空间可以被创建、移除、修改。表和命名空间的隶属关系在在创建表时决定,通过以下格式指定:namespace:table?Example:hbase shell中创建命名空间、创建命名空间中的表、移除命名空间、修改命名空间#Create a namespace create_namespace my_ns #create my_table in my_ns namespacecreate my_ns:my_table, fam #drop namespace drop_namespace my_ns #alter namespace alter_namespace my_ns, {METHOD = set, PROPERTY_NAME = PROPERTY_VALUE} 1.2. 预定义的命名空间有两个系统内置的预定义命名空间:hbase:系统命名空间,用于包含hbase的内部表default:所有未指定命名空间的表都自动进入该命名空间Example:指定命名空间和默认命名空间#namespace=foo and table qualifier=barcreate foo:bar, fam#namespace=default and table qualifier=barcreate bar, fam2.创建表废话不多说,直接上样板代码,代码后再说明注意事项和知识点:? ? ? ? Configuration?conf?=?HBaseConfiguration.create();????????HBaseAdmin?admin?=?new?HBaseAdmin(conf);????????//create?namespace?named?my_ns????????admin.createNamespace(NamespaceDescriptor.create(my_ns).build());????????????????//create?tableDesc,?with?namespace?name?my_ns?and?table?name?mytable????????HTableDescriptor?tableDesc?=?new?HTableDescriptor(TableName.valueOf(my_ns:mytable));? ? ? ???tableDesc.setDurability(Durability.?SYNC_WAL?);????????//add?a?column?family?mycf????????HColumnDescriptor?hcd?=?new?HColumnDescriptor(mycf);????????tableDesc.addFamily(hcd);????????admin.createTable(tableDesc);????

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档