表映射的话,在phoenix中的表与hbase中的表会被同时删除与修改,视图映射中的表删除,hbase中的表不会被删除。...,只需要将createview改为createtable即可。...2)当HBase中不存在表时,可以直接使用createtable指令创建需要的表,并且在创建指令中可以根据需要对HBase表结构进行显示的说明。...address"varchar); 种情况下,直接使用与第1)种情况一样的createtable语句进行创建即可,这样系统将会自动在Phoenix和HBase中创建person_infomation的表...使用createtable创建的关联表,如果对表进行了修改,源数据也会改变,同时如果关联表被删除,源表也会被删除。但是视图就不会,如果删除视图,源数据不会发生改变。
上一篇博客说了怎样搭建HBase环境,今天说说怎样使用 HBase 的客户端 API 来操作 HBase 中的数据。...private void createTable() throws IOException { Admin admin = connection.getAdmin();...ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("address")).build()) .build(); admin.createTable...ConnectionFactory.createConnection(config); TestAPI t = new TestAPI(connection); t.listTable(); t.createTable...tableName)); } } finally { admin.close(); } } private void createTable
(t *hrpc.CreateTable) error DeleteTable(t *hrpc.DeleteTable) error EnableTable(t *hrpc.EnableTable...DisableTable(t *hrpc.DisableTable) error ClusterStatus() (*pb.ClusterStatus, error) } // CreateTable...represents a CreateTable HBase call type CreateTable struct { base families map[string]map...[string]string splitKeys [][]byte } // NewCreateTable creates a new CreateTable request that will...)) *CreateTable { ct := &CreateTable{ base: base{ table: table,
HBase 使用 Java 语言开发,因而 HBase 原生提供了一个 Java 语言客户端。这篇文章介绍 HBase Admin API,包括创建、启用、禁用、删除表等。...创建表 可以使用 Admin 类的 createTable() 方法在 HBase 中创建表。此类属于 org.apache.hadoop.hbase.client 包中。...然后使用 Admin 类的 createTable() 方法创建表: public static void create(String name, String... columnFamilies)...columnFamilies) { builder.setColumnFamily(ColumnFamilyDescriptorBuilder.of(cf)); } admin.createTable...for (String cf : columnFamilies) { tableDescriptor.addFamily(new HColumnDescriptor(cf)); } admin.createTable
hbase数据库的操作也非常简单,但你需要先大致了解一下hbase的架构。 hbase架构 hbase是基于列存储的nosql数据库,hbase官方参考指南中有很详细的使用说明。...hbase简单api调用 hbase的功能相当丰富,运维也相对比较复杂,下面是对hbase的简单调用,仅供参考学习。如果想了解更多深入的内容,可以参考上边提到的官方参考指南。...ConnectionFactory.createConnection(configuration); admin = connection.getAdmin(); } public void createTable...TableDescriptorBuilder.newBuilder(tableName) .setColumnFamilies(list) .build(); admin.createTable..."; List colFamilyList = Lists.newArrayList("learn", "body"); hBaseLearnMain.createTable
import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Delete...; import org.apache.hadoop.hbase.util.*; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.util.Writables...Helloworld"); String[] cfs; cfs = new String[1]; cfs[0] = "Hello"; createTable...cfs); } /** * 创建表操作 * @throws IOException */ public static void createTable... tableDesc.addFamily(new HColumnDescriptor(cfs[i])); } admin.createTable
configuration=null; static{ configuration= HBaseConfiguration.create(); configuration.set("hbase.zookeeper.property.clientPort...","2081"); configuration.set("hbase.zookeeper.quorum","192.168.136.135"); configuration.set...("hbase.master","192.168.136.135:60000"); } /** * HBase 根据表名与列信息与配置信息创建表 * @param...org.apache.hadoop.conf.Configuration 配置对象 * @throws Exception */ public static void createTable...tableDescriptor.addFamily(new HColumnDescriptor(column)); } hbaseAdmin.createTable
wget http://archive.apache.org/dist/hbase/1.3.2/hbase-1.3.2-bin.tar.gz tar -zxvf hbase-1.3.2-bin.tar.gz...#解压 mv hbase-1.3.2 /usr/local/hbase 配置hbase-site.xml cd /usr/local/hbase/conf vi hbase-site.xml <property...param myTableName 表名 * @param colFamily 列族数组 * @throws IOException */ public void createTable...HColumnDescriptor(str); hTableDescriptor.addFamily(hColumnDescriptor); } admin.createTable...String[] cols=new String[]{"S_No","S_Name","S_Sex","S_Age"}; //建表 hbaseCRUD.createTable
一.前述 1.HBase,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。...二.Hbase数据模型 ? 2.1 ROW KEY(相当于关系型数据库中的ID) 决定一行数据 按照字典顺序排序的。...HBase把同一列族里面的数据存储在同一目录下,由几个文件保存。 2.3 Timestamp时间戳(相当于版本!!!)...三.Hbase架构 ?...3.1 Client 包含访问HBase的接口并维护cache来加快对HBase的访问 3.2 Zookeeper 保证任何时候,集群中只有一个master(HA) 存贮所有Region的寻址入口。
在使用HBase的API查询数据的时候,我们经常需要设置一些过滤条件来查询数据,这个时候我们就需要使用 HBase API 的各种 Filter 来实现这一功能。...; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import...org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.exceptions.DeserializationException...= connection; } private void test() throws IOException, DeserializationException { createTable...BinaryComparator(Bytes.toBytes("user_0")))); deleteTable(); } private void createTable
一、简介 在上一篇文章 HBase 基础入门 中,我们已经介绍了 HBase 的一些基本概念,以及如何安装使用的方法。...connection * @param tableName * @param columnFamilies * @throws IOException */ public static void createTable...builder.setColumnFamily(ColumnFamilyDescriptorBuilder.of(columnFamily)); } admin.createTable...; TableName tableName = TableName.valueOf("DeviceState"); //创建DeviceState表 createTable...logger.error("error occurs", e); } } } } 执行代码,控制台输出如下: INFO -createTable
htd.addFamily(hcd1); htd.addFamily(hcd2); //创建表 admin.createTable...e.printStackTrace(); } } } // 创建表 public static void createTable...hcd = new HColumnDescriptor(fc); htd.addFamily(hcd); } admin.createTable...class HBaseUtilTest { @Test public void testCreateTable() { //创建表 HBaseUtil.createTable...("myTest", "myfc1", "myfc2", "myfc3"); HBaseUtil.close(); HBaseUtil.createTable("myTest02
前一篇博客说了一下 HBase 的一些过滤器,今天看看 HBase 的分页过滤器。...; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import...org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.exceptions.DeserializationException...= connection; } private void test() throws IOException, DeserializationException { createTable...break; } } table.close(); deleteTable(); } private void createTable
集群服务) 启动HBase 由于伪分布式下的 HBase 依赖 HDFS ,因此我们需要先启动 HDFS : start-dfs.sh 然后启动 HBase : start-hbase.sh 3.然后就是代码实现...import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes...class HbaseDemo1 { /** * @Description: createTable():创建表的方法 * @Param: 0 * @return: 0...*/ @Test public void createTable() throws IOException { Configuration conf = HBaseConfiguration.create...//讲列簇定义到表中 hTableDescriptor.addFamily(hColumnDescriptor); //执行建表操作 admin.createTable
.build(); admin.createNamespace(namespce); admin.close(); } public void createTable...(String tableName, String... families) throws IOException { // 因为下面的存在,此处可以省略 createTable...(tableName,1,families); } public void createTable(String tableName,Integer versions, String....创建命名空间以及表名的定义 dao.createNamespace(Names.NAMESPACE_WEIBO); //2) 创建微博内容表 dao.createTable...(Names.TABLE_WEIBO,Names.WEIBO_FAMILY_DATA); //3) 创建用户关系表 dao.createTable(Names.TABLE_RELATION
HColumnDescriptor hcd = new HColumnDescriptor("wordcount"); htd.addFamily(hcd); admin.createTable...org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Scan...class, ImmutableBytesWritable.class, ImmutableBytesWritable.class, job); createTable...0 : 1; } private static void createTable(Configuration conf) throws IOException{ Connection...HColumnDescriptor hcd = new HColumnDescriptor("wordcount"); htd.addFamily(hcd); admin.createTable
HBase索引主要用于提高Hbase中表数据的访问速度,有效的避免了全表扫描,HBase中的表根据行健被分成了多个Regions,通常一个region的一行都会包含较多的数据,如果以列值作为查询条件,就只能从第一行数据开始往下找...import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection...CreateTable { public static void main(String[] args) { // 2.获得会话 Admin admin =...HColumnDescriptor hcd = new HColumnDescriptor("info"); htd.addFamily(hcd); admin.createTable...hcd = new HColumnDescriptor("rowkey".getBytes()); htd.addFamily(hcd); admin.createTable
HBase Shell 常用命令: 注意:HBase在linux命令行下操作时,区分大小写 HBase API HBase 提供Java方式的原生接口,其中需要注意的有: (1)创建Connection...HBase Rest Gateway HBase附带的REST服务器,该服务器将HBase表,行,单元和元数据作为URL指定的资源公开。...HBase到Hive 将HBase的数据作为数据源,建立Hive外部表关联到HBase,利用Hive的HQL查询HBase数据,更进一步,将Hive的元数据同步到Impala,利用Impala的SQL...这是HBase二级索引出现的背景。即二级索引是为了让HBase能够提供更多维度的查询能力。...注意:HBase原生并不支持二级索引方案,但基于HBase的KeyValue数据模型与API,可以轻易地构建出二级索引数据。
来加速Hbase的访问,比如cache的.META.元数据的信息。...流程 老的Region寻址方式 在Hbase 0.96版本以前,Hbase有两个特殊的表,分别是-ROOT-表和.META.表,其中-ROOT-的位置存储在ZooKeeper中,-ROOT-本身存储了...(3)Hlog数量上限 前面说到Hlog为了保证Hbase数据的一致性,那么如果Hlog太多的话,会导致故障恢复的时间太长,因此Hbase会对Hlog的最大个数做限制。...该参数为:hbase.hregion.majorcompaction.jitter 具体算法为: hbase.hregion.majorcompaction参数的值乘于一个随机分数,这个随机分数不能超过...通过hbase.hregion.majorcompaction参数的值加上或减去hbase.hregion.majorcompaction参数的值乘于一个随机分数的值就确定下一次大合并的时间区间。
HBase 直接用 shell 命令插入数据效率很低,在实际应用中,一般都是利用编程操作 HBase 的。...Java 编程来操作 HBase 操作 HBase 所用的 jar 包,使用 Maven 导入,引入依赖 hbase-it,pom.xml 文件依赖部分如下: 说明:我安装的 HBase 是 1.1.0...param columnFamily 列族数组 * @throws IOException */ @SuppressWarnings("all") public static void createTable...HColumnDescriptor(columnName); hTableDescriptor.addFamily(hColumnDescriptor); } admin.createTable..."); // 重新创建成绩表 HBaseUtil.createTable("chengji", new String[]{"score"}); // 插入数据 HBaseUtil.insertRowData
领取专属 10元无门槛券
手把手带您无忧上云