HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行

                      ----首先感谢网络能够给我提供一个开放的学习平台,如果没有网上的技术爱好者提供的帮助,很难学好hbase。

一、hbase简介

       官方:HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构存储集群。

       自己的理解:hbase其实就是一个在hadoop基础上的一个数据库,运行在HDFS文件系统之上,特点是一个基于内存面向列的数据库。

        hbase架构图

       

二、Hbase数据模型

  1、概念图

  基于Google的bigtable模型(key-value对)

  

  2、逻辑视图

  网上查了一些资料,举一个例子来说说我的理解吧。

row key data
wangsan

info:{'height:178','sex:boy'}

message:{'tpl:18363636363','email:1@qq.com'}

lisi

info:{'height:176','sex:gril'}

message:{'tpl:18363636364','email:2@qq.com'}

      

  3、hbase的key和列族

      与nosql数据库们一样,row key是用来检索记录的主键。

  

  1)每行都有row key。

  2)每条记录分隔成列族集合。

  3)每个列族由若干列组成。

三、API操作

创建一个表test,首先导入jar包,在hive的安装目录下的lib中去找就可以了。

public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, IOException {
// TODO Auto-generated method stub
Configuration con = HBaseConfiguration.create();
HBaseAdmin admin = new HBaseAdmin(con); TableName name = TableName.valueOf("test"); HTableDescriptor descriptor = new HTableDescriptor(name); HColumnDescriptor columnDescriptor = new HColumnDescriptor("data");
descriptor.addFamily(columnDescriptor); admin.createTable(descriptor); System.out.println("create ok");
}

将程序导出成jar文件,放到Linux系统中的新建目录/opt/bin/hbase中吧。

首先:执行下面两部操作。

执行jar文件。

test表创建成功。

hbase shell指令。

执行list指令,就可以看到hbase下面新建号的test表。

HBase 学习之一 <<HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行>>的更多相关文章

  1. 怎样将关系型数据表转换至hbase数据表

    首先须要把关系型数据库的数据表的数据添加由 "纵向延伸",转变为HBase数据表的"横向延伸" 一.Hbase的存储结构 a)      HBase以表(HTa ...

  2. 12. ZooKeeper之Java客户端API使用—创建会话。

    转自:https://blog.csdn.net/en_joker/article/details/78686649 客户端可以通过创建一个ZooKeeper(org.apache.zookeeper ...

  3. C#开发BIMFACE系列45 服务端API之创建离线数据包

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] BIMFACE的常规应用方式有公有云与私有化部署两种方式,并且浏览模型或者图纸需要使用ViewToken,ViewToke ...

  4. Azure 云平台用 SQOOP 将 SQL server 2012 数据表导入 HIVE / HBASE

    My name is Farooq and I am with HDinsight support team here at Microsoft. In this blog I will try to ...

  5. vue学习(十四) 条件搜索框动态查询表中数据 数组的新方法

    //html <div id="app"> <label> 名称搜索关键字: <input type="text" clasa=& ...

  6. 用javascript动态创建并提交表单form,表格table

    <script> //helper function to create the formfunction getNewSubmitForm(){ var submitForm = doc ...

  7. Django学习手册 - admin后台 切换成中文显示/添加数据表

    Django admin后台管理 切换成中文界面: 站点显示为中文: 在setting 里面修改 LANGUAGE_CORE = 'zh-Hans' 字段名显示中文 class Test(models ...

  8. EF Core中Fluent Api如何删除指定数据表中的行

    这两天一直在研究在code first下如何删除数据表中的指定行,于是开始搜狗,后来百度,压根就找不到资料,后来一想可能我的搜索关键字有问题,而且ef core命令与ef的命令差不多,于是从这两个方面 ...

  9. ASP.NET动态创建数据库和表

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

随机推荐

  1. 【HDOJ】2645 find the nearest station

    裸BFS. /* 2645 */ #include <iostream> #include <queue> #include <cstdio> #include & ...

  2. linux setsockopt

     linux setsockopt Socket描述符选项[SOL_SOCKET] #include <sys/socket.h> int setsockopt( int socket, ...

  3. 【转】 jni.h头文件详解(二)

    原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...

  4. NOI题库1980 陪审团的人选(POJ1015)

    1980:陪审团的人选 总时间限制: 1000ms 内存限制: 65536kB 描述 在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候 ...

  5. [Locked] One Edit Distance

    One Edit Distance Given two strings S and T, determine if they are both one edit distance apart. 分析: ...

  6. Jenkins 十: 访问控制

    1. 打开“系统管理” –> “Configure Global Security”. 2.  选中“启用安全”. 3. 找到“安全域”,选中“Jenkins专有数据库”,选中“允许用户注册”. ...

  7. 【纯干货】SVN使用时应注意的那些事

    一.SVN使用步骤 检出 checkout 更新 update 冲突 confilicte 添加 Add (没有添加项目可不写) 填写svn日志 提交 commit你以为到这儿就结束了吗?....NO ...

  8. Info.plist与Prefix.pch修改文件位置遇到的问题及解决方法

    如果要更改Info.plist与Prefix.pch文件实际路径,也就是实际文件的位置(不是在工程中的组织路径),需要到Build Settings中修改对应的配置,不然工程就找不到对应的Info.p ...

  9. C# WinForm登录窗口代码

    Main窗体为应用程式主窗体,Login为登录窗体.均为SDI窗体.     两种实现方式如下: 1.应用程式入口放在Login窗体,在Login窗体实现登录机制,验证通过则创建Main窗体的实例,并 ...

  10. [Ruby] LEVEL 2 Methods and Classes

    Optional Arguments Set default arguments, when we don't need to call it, we can simply skip it. def ...