package test; import java.util.Map; 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.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; public class HbaseDemo { //HBase是基于Hadoop的开源数据库,他以Google的BigTable为原型实现的 //Region服务器 //HBase在行的方向上将表分成多个Region,每个Region包含一定范围内的数据。随着表中的数据不断的增加 //一个Region会被分成多个新的Region //Region是HBase中分布式存储和负载均衡的最小单位,即一个表所有的Region会被分到多个Region服务器上 //每个Region由一个或多个Store组成,每个Store保存一个列族的所有的数据, //每个Store由一个或多个memStore组成 //主服务器 //HBase每个时刻只有一个HMaster(主服务器程序)在运行HMaster将Region分配给Region服务器 public static void main(String[] args) throws Exception{ Configuration conf = HBaseConfiguration.create(); //初始化HBase的配置文件 conf.set("hbase.zookeeper.quorum", "UbubtuSlave1,UbuntuSlave2,UbuntuSlave3");//指定HBase使用的Zookeeper的地址 HBaseAdmin admin = new HBaseAdmin(conf);//实例化HBaseAdmin(该类用于对表的元数据进行操作并提供了基本的管理操作) HTableDescriptor tableDescriptor = new HTableDescriptor("tab1".getBytes()); tableDescriptor.addFamily(new HColumnDescriptor("fam1")); admin.createTable(tableDescriptor);//创建一张新表,参数为类HTableDescriptor,其中是对表名和相关的列族的描述 HTable table = new HTable(conf,"tab1"); //可对表进行相关操作的类 Put putRow1 = new Put("row1".getBytes());//可以向表中插入数据,初始化时可以传递一个行键,表示向那一行插入数据 putRow1.add("fam1".getBytes(), "coll".getBytes(),"vall".getBytes());//插入数据 table.put(putRow1); System.out.println("add row2"); Put putRow2 = new Put("row2".getBytes()); putRow2.add("fam1".getBytes(), "col2".getBytes(), "val2".getBytes()); putRow2.add("fam1".getBytes(), "col3".getBytes(), "val3".getBytes()); table.put(putRow2); for(Result row:table.getScanner("fam1".getBytes()))//table.getScanner获得某一列族的所有数据,方法返回Result类 { System.out.format("ROW\t%s\n", new String(row.getRow())); for(Map.Entry<byte[],byte[]> entry :row.getFamilyMap("fam1".getBytes()).entrySet()) { //Result.getFamilyMap()可以获得以列名为key值为value的映射表 String column = new String(entry.getKey()); String value = new String(entry.getValue()); System.out.format("COLUMN\tfam1:%s\t%s\n", column,value); } } admin.disableTable("tab1");//删除表tab1 admin.deleteTable("tab1");//删除表tab1 } }
相关推荐
Hbase shell 、Hbase api、Hbase 配置
第一部分、详细介绍了分布式数据库和Hbase的发展由来,基本原理,应用场景。第二部分,对Hbase进行基本的概述,主要...第四部分,通过一个小的java api案例,介绍Hbase的开发使用,详细分析hbase的应用场景和优化方式。
并对HBase进行实战操作,讲解基本的shell命令及java api。重点讲解如何通过过滤器筛选数据... 3-1 HBase写流程 3-2 HBase读流程 3-3 HBase模块协作 3-4 HBase实战:Shell命令实战 3-5 HBase实 战:Java Api实现HBase...
在本课程中,主要讲述了HBase详细的架构原理及特点、HBase内部各个角色的详细介绍、安装配置、HBase的Shell操作、新旧版本的读写数据详细流程、HBase的API操作、使用MapReduce以及Hive对HBase数据分析、Rowkey设计、...
使用Spark框架进行网站用户购物分析 目的 1、熟悉Linux系统、MySQL、Spark、HBase、Hive、Sqoop、R、Eclipse、IntelliJ Idea...6、使用HBase Java API把数据从本地导入到HBase中 7、使用R对MySQL中的数据进行可视化分析
在本课程中,主要讲述了HBase详细的架构原理及特点、HBase内部各个角色的详细介绍、安装配置、HBase的Shell操作、新旧版本的读写数据详细流程、HBase的API操作、使用MapReduce以及Hive对HBase数据分析、Rowkey设计、...
Scala 2.10和Spark 1.4.1的,但是可以通过更改pom.xml中的versions属性来为较老的API创建分支(对于基本用例,不需要dataframes api)因此,实际上任何版本> 0.92的spark版本都可以使用,但对于HBase旧API,围绕...
在本课程中,主要讲述了HBase详细的架构原理及特点、HBase内部各个角色的详细介绍、安装配置、HBase的Shell操作、新旧版本的读写数据详细流程、HBase的API操作、使用MapReduce以及Hive对HBase数据分析、Rowkey设计、...
配置文件同步其他服务器启动服务查看HBase 页面HBase Shell操作基本操作表的操作HBase数据结构RowKeyColumn FamilyCellTime Stamp命名空间Hbase 原理读流程写流程数据Flush过程数据合并过程HBase Api 操作环境准备...
HBase从用法的角度来讲其实乏陈可善,所有更新插入删除基本一两个API就可以搞定,要说稍微有点复杂的话,Scan的用法可能会多一些说头。而且经过笔者观察,很多业务对Scan的用法可能存在一些误区(对于这些误区,笔者...
06.Kafka基本操作和最优设置 07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类...
BigDataHadoop,Hbase,Scala,Spark等hadoop:基于贝叶斯分类器的情感分析hbase:hbase的JavaAPI的基本操作spark:scala基础和spark基础
Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 CLI 和 Beeline 命令行的基本使用 常用 DDL 操作 分区表和分桶表 视图和索引 常用 DML 操作 数据...
HDFS Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 Hive Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 Hive CLI 和 Beeline 命令行的基本使用 Hive 常用 DDL 操作 Hive 分区表和分桶表 Hive 视图...
06.Kafka基本操作和最优设置 07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类...
它使用链接Google Bigtable库的Apache HBase 1.0 API。 该库最初是asynchbase 1.5.0库的一个分支,因此人们可能会发现乍一看似乎有些奇怪的代码。 我们正在努力清理代码库并删除不相关的依赖项。 基本安装 与原始...
它通过Thrift提供基本的API,并提供具有高级功能的ORM。 请参阅HBase模型架构简介: 了解表/行/列族/列/单元格的术语: HBase要求MassiveRecord正在关注HBase的Cloudera软件包: : 目前,MassiveRecord已针对HBase ...
1.3.5 ZooKeeper API使用简介 43 1.3.6 zkClient的使用 47 1.3.7 路由和负载均衡的实现 50 1.4 HTTP服务网关 54 第2章 分布式系统基础设施 58 本章主要介绍和解决如下问题: 分布式缓存memcache的...
Google Cloud Bigtable示例 比数据仓库更大,足够快以进行实时访问,并且比运行虚拟机便宜。 支持Google的享誉全球的数据库现... -Cloud Bigtable的简单命令行界面,向您展示如何使用本地HBase API进行基本操作 一个最