首先须要把关系型数据库的数据表的数据添加由
“纵向延伸”,转变为HBase数据表的“横向延伸”

一、Hbase的存储结构

a)     
HBase以表(HTable)的形式存储数据

b)    
HTable包含非常多行,每行通过RowKey唯一标记,行依照RowKey的字典序排列。表在行的方向上切割为多个HRegion

c)     
每行包含一个RowKey和多个Column
Family,数据依照Column Family进行物理分割。即不同Column
Family的数据放在不同的Store中。一个Column
Family放在一个Strore中

d)    
HRegion由多个Store组成。一个Store由物理上存在的一个MemStrore(内存中)和多个StoreFile(HFile)中

二、设计原则:

(1)rowkey

a)     
rowkey是hbase的key-value存储中的key。通常使用用户要查询的字段作为rowkey
查询结果作为value
HBase中RowKey是依照字典序排列的

(2)Column Family的设计需遵循:

a)    
不同Column Family的数据,在物理上是分开的,尽量避免一次请求须要拿到的Column分布在不同的Column Family中;

b)    
CF的数量尽量要少。原因是过多的columnfamily之间会互相影响

(3) column

对于column须要扩展的应用。column可以按普通的方式设计,可是对于列相对固定的应用,最好採用将一行记录封装到一个column中的方式。这样可以节省存储空间。封装的方式推荐protocolbuffer。

三、參考样例:

(1)   
Oracle关系数据表有100亿车联网监控数据

<car_id,x,y,create_at,org_id,type>当中x表示经度,y表示纬度,creat_at:创建时间。type:1表示报警点。2表示正常点,org_id:组织机构id

须要支持:a、查询指定天指定车辆的轨迹。b、下载指定天指定单位全部报警点,

给出一种hbase的表结构

rowkey

ColumnFamily

car_id+create_at+org_id+type

地点1(x,y)

地点2(x,y)

http://blog.csdn.net/kirayuan/article/details/7441111

http://wwwcomy.iteye.com/blog/1771285

http://www.open-open.com/lib/view/open1417612091323.html

怎样将关系型数据表转换至hbase数据表的更多相关文章

  1. 大数据-05-Spark之读写HBase数据

    本文主要来自于 http://dblab.xmu.edu.cn/blog/1316-2/ 谢谢原作者 准备工作一:创建一个HBase表 这里依然是以student表为例进行演示.这里假设你已经成功安装 ...

  2. java中object数据怎么转换成json数据

    可以通过这个(json-lib-2.3-jdk15.jar)jar里的方法转换 JSONObject json = JSONObject.fromObject(Object); 如果对象数组 JSON ...

  3. MapReduce和Spark写入Hbase多表总结

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 大家都知道用mapreduce或者spark写入已知的hbase中的表时,直接在mapreduc ...

  4. HBase 数据读写流程

    HBase 数据读写流程 2016-10-18 杜亦舒 读数据 HBase的表是按行拆分为一个个 region 块儿,这些块儿被放置在各个 regionserver 中 假设现在想在用户表中获取 ro ...

  5. 大数据时代数据库-云HBase架构&生态&实践

    业务的挑战 存储量量/并发计算增大 现如今大量的中小型公司并没有大规模的数据,如果一家公司的数据量超过100T,且能通过数据产生新的价值,基本可以说是大数据公司了 .起初,一个创业公司的基本思路就是首 ...

  6. 获取minist数据并转换成lmdb

    caffe本身是没有数据集的,但在data目录下有获取数据的一些脚本.MNIST,一个经典的手写数字库,包含60000个训练样本和10000个测试样本,每个样本为28*28大小的黑白图片,手写数字为0 ...

  7. HBase 学习之一 <<HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行>>

    HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行                       ----首先感谢网络能够给我提供一个开放的学习平台,如果没有网上的技术爱好者提供 ...

  8. 【原创】大叔经验分享(25)hive通过外部表读写hbase数据

    在hive中创建外部表: CREATE EXTERNAL TABLE hive_hbase_table(key string, name string,desc string) STORED BY ' ...

  9. HBase读写数据的详细流程及ROOT表/META表介绍

    一.HBase读数据流程 1.Client访问Zookeeper,从ZK获取-ROOT-表的位置信息,通过访问-ROOT-表获取.META.表的位置,然后确定数据所在的HRegion位置: 2.Cli ...

随机推荐

  1. ArcGis(01)——地图切片以及发布底图服务

    ArcGis(01)——地图切片以及发布底图服务 环境 操作系统:win10_x64 Gis版本:Arcis server 10.2 准备 1.tif格式地图资源 2.Arcis server 10. ...

  2. QQ情侣头像~

                       

  3. mysql的limit经典用法及优化

    用法一   SELECT `keyword_rank`.* FROM `keyword_rank` WHERE (advertiserid='59') LIMIT 2 OFFSET 1;   比如这个 ...

  4. css 日常

    去掉input边框    outline:none; 不让用户选择文本 user-select: none; 手机网页点击输入框的瞬间会出现灰色背景    解决方案: -webkit-tap-high ...

  5. Tinkphp定时发布文章的教程

    第一步:在文章表中加一个字段,用来保存定时发布的时间 假定我把这个字段设为 push_time 默认为 0 第二步:写一个方法来检查文章列表,把文章列表到时间的文章改为发布状态 //定时发布文章 pu ...

  6. Razor 语法

    Razor 语法 原文:Razor Syntax Reference作者:Taylor Mullen.Rick Anderson翻译:刘怡(AlexLEWIS)校对:何镇汐   什么是 Razor? ...

  7. TCP回射服务器程序:main函数

    TCP回射并发服务器 1.创建套接字,绑定服务器的众所周知端口 创建一个TCP套接字,在待绑定到该TCP套接字的网际网套接字地址结构中填入通配地址(INADDR_ANY) 和服务器的众所知周(SERV ...

  8. 你不知道的JavaScript(作用域和闭包)

    作用域和闭包 ・作用域 引擎:从头到尾负责整个JavaScript的编译及执行过程. 编译器:负责语法分析及代码生成等. 作用域:负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非 ...

  9. 创建局域网内远程git仓库,并将本地仓库push推到远程仓库中

    转载请注明出处 http://www.goteny.com/articles/2014/06/136.html http://www.cnblogs.com/zjjne/p/3778640.html ...

  10. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...