• 怎样将关系型数据表转换至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(内存中)和多个StoreFileHFile)中

    二、设计原则:

    (1)rowkey

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

    (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:创建时间。type1表示报警点。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

  • 相关阅读:
    k8s nod rc service 使用
    Linux $() 与 ${}
    Linux set
    Linux 上传下载 rz 与sz
    Linux !的使用
    K8s创建pod yaml文件详解
    Kubernetes 安装
    Python 生成器
    k8s 使用详解
    微信 网页授权
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5278996.html
Copyright © 2020-2023  润新知