首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HBase 的表结构

HBase 是一个NoSQL数据库,用于处理海量数据,可以支持10亿行百万列的大表,下面就了解一下数据是如何存放在HBase表中的 关系型数据库的表结构 为了更好的理解HBase表的思路,先回顾一下关系数据库中表的处理方式...HBase的处理方式 HBase的表结构 建表时要指定的是:表名、列族 建表语句 create 'user_info', 'base_info', 'ext_info' 意思是新建一个表,名称是user_info...: row key base_info ext_info row1 name:a, tel:123 row2 name:b addr:bj HBase表中还有一个重要概念:版本,每个字段的值都有版本信息...row2 name:c(v2)[name:b(v1)] addr:bj 小结 从上面建表、插入数据的过程可以看出 HBase 存储数据的特点了 和关系数据库一样,也是使用行和列的结构 建表时,定义的是表名和列族...(字段的集合),而不是具体字段 列族中可以包含任意个字段,字段名不需要预定义,每一行中同一列族中的字段也可以不一致 多维结构,关系数据库的表是二维的,通过指行、列定位一个数据,HBase中需要通过 行健

1.5K130
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HBase学习—高表与宽表的选择

    utm_content=m_31236 hbase中的宽表是指很多列较少行,即列多行少的表,一行中的数据量较大,行数少;高表是指很多行较少列,即行多列少,一行中的数据量较少,行数大。...据此,在HBase中使用宽表、高表的优劣总结如下: 查询性能:高表更好,因为查询条件都在row key中, 是全局分布式索引的一部分。高表一行中的数据较少。...所以查询缓存BlockCache能缓存更多的行,以行数为单位的吞吐量会更高。 分片能力:高表分片粒度更细,各个分片的大小更均衡。因为高表一行的数据较少,宽表一行的数据较多。HBase按行来分片。...过大的元数据开销,可能引起HBase集群的不稳定、master更大的负担(这方面后续再好好总结)。 事务能力:宽表事务性更好。...而且解压缩可以通过协处理器(coproesssor)在HBase服务器上做,而不是在业务应用的服务器上做,以充分应用HBase集群的CPU能力。

    2.4K50

    【Spark重点难点】SparkSQL YYDS(上)!

    恰恰相反,因为DataFrame的算子大多数都是计算逻辑确定的,Spark就可以根据基于启发式的规则或策略甚至动态运行时的信息优化DataFrame的计算过程。...那么负责DataFrame的算子优化是谁来做的呢?正是SparkSQL。...Spark Core和Spark SQL的关系 我们可以用一句话描述这个关系: Spark SQL正是在Spark Core的执行引擎基础上针对结构化数据处理进行优化和改进。...而Spark SQL正是基于如此强大的Spark Core底层能力,形成一套独立的优化引擎系统。 简单的说,Spark SQL的计算任务通过SQL的形式最终转换成了RDD的计算。...DataFrame的创建方式 Spark 本身支持种类丰富的数据源与数据格式,DataFrame的创建方式更是多种多样。 这里我们列举三类最常用的Spark DataFrame的创建方式。

    97710

    hbase表数据备份策略

    Hbase的数据备份策略有: (1)Distcp (2)CopyTable (3)Export/Import (4)Replication (5)Snapshot 下面介绍这几种方式: (一)Distcp...四,Replication(实时) 通过Hbase的replication机制实现Hbase集群的主从模式实时同步 五,Snapshot(备份实时,恢复需要disable) 个人觉得这里备份里面最经济划算的一个...,可以每天在固定时间点对hbase表数据进行快照备份,然后如果出现问题了,可以直接恢复到某个时间点上的数据,适合修复指标计算错误的场景,然后从某个时间点上重新修复。...' (7)从快照中恢复到一个新表中 clone_snapshot 'test_snapshot','test_2' 以上几种策略就是所有的备份策略了,实际应用中需要具体情况选择其中的一种或几种,总体来说快照备份是一个性价比比较高的一种策略...时间短,体积小,恢复快,最终还可以恢复数据到一张新表中,不影响原来的表。

    2.2K40

    【赵渝强老师】HBase的表结构

    在学习HBase的表结构之前,首先需要了解一下什么是Google的BigTable思想。BigTable大表的思想是Google的“第三驾马车”。...HBase就是BigTable大表思想的一个具体实现,并且它是一个列式存储的NoSQL数据库适合执行数据的分析和处理。简单来说就是适合执行查询操作。...如果把上图中的部门-员工数据存入HBase的表中,那将会是什么样的呢?下图展示了HBase的表结构。  HBase的表由列族组成,上图的“emp”和“dept”都是列族,列族中包含列。...创建表的时候必须创建列族,不需要创建列。当执行插入语句插入数据到列族中的时候,需要指定rowkey和具体的列。如果列不存在,HBase会自动创建相应的列,再把数据插入到对应的单元格上。...例如,如果要得到上图所示的表结构和数据,可以在HBase中执行下面的语句。

    12510

    再谈|Rowkey设计_HBase表设计

    HBase的rowkey设计可以说是使用HBase最为重要的事情,直接影响到HBase的性能,常见的RowKey的设计问题及对应访问为: Hotspotting 的行由行键按字典顺序排序,这样的设计优化了扫描...由于现在想把它们分到四个独立的区域,理论上吞吐量会是之前写到同一region的情况的吞吐量的四倍。...如果需要导入时间顺序的文件(如log)到HBase中,可以学习OpenTSDB的做法。它有一个页面来描述它的HBase模式。...因此,尽管有着连续的数据输入流,Put操作依旧能被分散在表中的各个region中 简化行和列 在HBase中,值是作为一个单元(Cell)保存在系统的中的,要定位一个单元,需要行,列名和时间戳。...表内[key]的最近的值可以用[key]进行Scan,找到并获取第一个记录。由于HBase行键是排序的,该键排在任何比它老的行键的前面,所以是第一个。

    1.2K21

    HBase的表结构你设计得不对!

    正如我在前面章节强调的,HBase数据模型跟关系型数据库系统有非常大的差异。因此,设计Hbase的数据表的方法和思路跟关系型数据库不一样。...设计Hbase数据表最重要的是定义rowkey结构。为了有效定义rowkey结构,有必要预先定义数据访问模式(读取和写入)。为了定义模式(schema),HBase表的一些特性必须考虑。...关注与被关注(Follower-followed)关系本质上是图形(graphs),有专门的图形数据库可以更有效地处理这些数据集。...总结 本文介绍了HBase架构设计的基础知识。我首先介绍了数据模型(这部分没有翻译,可以参看HBase官方文档),然后讨论了设计HBase表时要考虑的一些因素。...本文的主要内容是: row key是HBase表设计中最重要的一个方面,它决定了应用程序与HBase表的交互方式,还会影响您从HBase中提取数据的性能。

    1.5K10

    【大数据技术基础 | 实验八】HBase实验:新建HBase表

    二、实验要求 通过Java代码实现与HBase数据库连接,然后用Java API创建HBase表,向创建的表中写数据,最后将表中数据读取出来并展示。...物理模型:HBase是按照列存储的稀疏行/列矩阵,其物理模型实际上就是把概念模型中的一个行进行分割,并按照列族存储。...这一过程中,我对HBase的逻辑模型和物理模型有了更深刻的理解。   首先,HBase作为一个列式存储的数据库,以表的形式存储数据,每个表由行和列组成。...通过这种方式插入多行数据,验证了HBase在海量数据处理和存储上的效率与优势。   最后,我完成了对数据的查询操作。在查询时,我使用了扫描和过滤器来限定查询条件。...通过Java代码与HBase的交互,我加深了对HBase表和列族概念的理解,掌握了其增删查改的基本操作。

    8100

    浅谈Hbase在用户画像上的应用

    在ETL过程将用户标签写入Hive,根据不同数据对应不同数据库的应用场景,再将数据同步到MySQL、HBase、Elasticsearch等数据库中。...首先,业务同学需要对自己的业务有一个大概的预判,譬如:在整体的业务里程碑上什么时间点会有哪些策略动作,对应的业务体量会是多大。...譬如像:电商C2C企业,业务本质上要解决的是需求「匹配」和「匹配效率」的问题,是一个不断丰富供给和满足需要的过程。...主要有Hive、MySQL、HBase、Elasticsearch。 在数仓建模过程中,主要是设计事实表和维度表的建模开发。...在画像系统中主要使用Hive作为数据仓库,开发相应的事实表和维度表来存储标签、人群、应用到服务层的相关数据。 结论 上面文章主要讨论的用户画像的主要流程,以及用户画像最主要的几个部分。

    1.4K31

    Hbase篇--HBase中一对多和多对多的表设计

    一.前述 今天分享一篇关于HBase的一对多和多对多的案例的分析。...PS:说明,两张表User表和Role表, User表中定义两个列族,第一个列族是名字,第二个列族中  多个列定义为具体的角色,列的内容定义为具体的值,即优先级(这里利用了列也能存信息,所以把角色Id定义为具体的列...,值越大代表优先级越高) 案例二.一对多 组织架构 部门-子部门   查询 顶级部门 查询 每个部门的所有子部门   部门 添加、删除子部门   部门 添加、删除 ?...PS:解释 一个表 rowkey中0代表顶级部门  1代表非顶级部门  因为顶级部门不是经常查  列族的列是具体的子部门列表。值是具体的名称。...发布微博 查看某个用户所有的微博  排序:时间降序排序 查看首页  时间降序排序 001小明       关注  韩梅梅、李雷 002李雷       关注  韩梅梅 003韩梅梅 关注粉丝表

    2.1K30
    领券