怎样将关系型数据表转换至hbase数据表
首先须要把关系型数据库的数据表的数据添加由
“纵向延伸”,转变为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数据表的更多相关文章
- 大数据-05-Spark之读写HBase数据
本文主要来自于 http://dblab.xmu.edu.cn/blog/1316-2/ 谢谢原作者 准备工作一:创建一个HBase表 这里依然是以student表为例进行演示.这里假设你已经成功安装 ...
- java中object数据怎么转换成json数据
可以通过这个(json-lib-2.3-jdk15.jar)jar里的方法转换 JSONObject json = JSONObject.fromObject(Object); 如果对象数组 JSON ...
- MapReduce和Spark写入Hbase多表总结
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 大家都知道用mapreduce或者spark写入已知的hbase中的表时,直接在mapreduc ...
- HBase 数据读写流程
HBase 数据读写流程 2016-10-18 杜亦舒 读数据 HBase的表是按行拆分为一个个 region 块儿,这些块儿被放置在各个 regionserver 中 假设现在想在用户表中获取 ro ...
- 大数据时代数据库-云HBase架构&生态&实践
业务的挑战 存储量量/并发计算增大 现如今大量的中小型公司并没有大规模的数据,如果一家公司的数据量超过100T,且能通过数据产生新的价值,基本可以说是大数据公司了 .起初,一个创业公司的基本思路就是首 ...
- 获取minist数据并转换成lmdb
caffe本身是没有数据集的,但在data目录下有获取数据的一些脚本.MNIST,一个经典的手写数字库,包含60000个训练样本和10000个测试样本,每个样本为28*28大小的黑白图片,手写数字为0 ...
- HBase 学习之一 <<HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行>>
HBase使用客户端API动态创建Hbase数据表并在Hbase下导出执行 ----首先感谢网络能够给我提供一个开放的学习平台,如果没有网上的技术爱好者提供 ...
- 【原创】大叔经验分享(25)hive通过外部表读写hbase数据
在hive中创建外部表: CREATE EXTERNAL TABLE hive_hbase_table(key string, name string,desc string) STORED BY ' ...
- HBase读写数据的详细流程及ROOT表/META表介绍
一.HBase读数据流程 1.Client访问Zookeeper,从ZK获取-ROOT-表的位置信息,通过访问-ROOT-表获取.META.表的位置,然后确定数据所在的HRegion位置: 2.Cli ...
随机推荐
- ArcGis(01)——地图切片以及发布底图服务
ArcGis(01)——地图切片以及发布底图服务 环境 操作系统:win10_x64 Gis版本:Arcis server 10.2 准备 1.tif格式地图资源 2.Arcis server 10. ...
- QQ情侣头像~
- mysql的limit经典用法及优化
用法一 SELECT `keyword_rank`.* FROM `keyword_rank` WHERE (advertiserid='59') LIMIT 2 OFFSET 1; 比如这个 ...
- css 日常
去掉input边框 outline:none; 不让用户选择文本 user-select: none; 手机网页点击输入框的瞬间会出现灰色背景 解决方案: -webkit-tap-high ...
- Tinkphp定时发布文章的教程
第一步:在文章表中加一个字段,用来保存定时发布的时间 假定我把这个字段设为 push_time 默认为 0 第二步:写一个方法来检查文章列表,把文章列表到时间的文章改为发布状态 //定时发布文章 pu ...
- Razor 语法
Razor 语法 原文:Razor Syntax Reference作者:Taylor Mullen.Rick Anderson翻译:刘怡(AlexLEWIS)校对:何镇汐 什么是 Razor? ...
- TCP回射服务器程序:main函数
TCP回射并发服务器 1.创建套接字,绑定服务器的众所周知端口 创建一个TCP套接字,在待绑定到该TCP套接字的网际网套接字地址结构中填入通配地址(INADDR_ANY) 和服务器的众所知周(SERV ...
- 你不知道的JavaScript(作用域和闭包)
作用域和闭包 ・作用域 引擎:从头到尾负责整个JavaScript的编译及执行过程. 编译器:负责语法分析及代码生成等. 作用域:负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非 ...
- 创建局域网内远程git仓库,并将本地仓库push推到远程仓库中
转载请注明出处 http://www.goteny.com/articles/2014/06/136.html http://www.cnblogs.com/zjjne/p/3778640.html ...
- [转]Windows平台下安装Hadoop
1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...