首先须要把关系型数据库的数据表的数据添加由
“纵向延伸”,转变为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. centos U盘安装

    1.版本 LiveCD 和 LiveDVD 是可以直接进入运行系统,类似win PE, 进入系统后有一个图标 install - HHD(从硬盘安装). netinstall 是用于网络安装和系统救援 ...

  2. uvalive3026 Period (KMP+结论)

    题目链接:http://vjudge.net/problem/viewProblem.action?id=29342 题目大意:给定字符串,找到每个前缀的最大循环节的个数. 首先当然是kmp预处理,接 ...

  3. How to scroll the window using JQuery $.scrollTo() function

    $('html, body').animate({scrollTop: $("#page").offset().top}, 2000); http://stackoverflow. ...

  4. JavaScript-学习一字符串

    字符串可以存储一系列字符,如 "John Doe". 字符串可以是插入到引号中的任何字符.你可以使用单引号或双引号: 用于字符串的 + 运算符 + 运算符用于把文本值或字符串变量加 ...

  5. underscorejs-reduce学习

    2.3 reduce 2.3.1 语法: _.reduce(list, iteratee, [memo], [context]) 2.3.2 说明: reduce方法把list中元素归结为一个单独的数 ...

  6. linux命令——Grep 命令 用法大全

    1. 参数: -I :忽略大小写 -c :打印匹配的行数 -l :从多个文件中查找包含匹配项 -v :查找不包含匹配项的行 -n:打印包含匹配项的行和行标 2.RE(正则表达式) \ 忽略正则表达式中 ...

  7. 002-C语言概览

    C语言 关键字: 32个关键字,全是小写 auto double int struct break else long switch case enum register typedef char e ...

  8. 老oj3999孤独一生

    孤独一生 Time Limit:10000MS  Memory Limit:165536KTotal Submit:23 Accepted:11 Case Time Limit:1000MS Desc ...

  9. Android调用Asp.net Web Service示例

    WebService代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  10. magento 修改 paypal order product name

    app/code/core/Mage/Sales/Model/Quote  Item.php public function setProduct($product) { if ($this-> ...