![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop
joananjin
这个作者很懒,什么都没留下…
展开
-
Hbase和传统数据库之间的区别
Hbase和传统数据库的区别1.数据类型:Hbase只有简单的数据类型,只保留字符串;传统数据库有丰富的数据类型。2.数据操作:Hbase只有简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系;传统数据库通常有各式各样的函数和连接操作。3.存储模式:Hbase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的,这样的好处是数据即是索引,访问查询涉及的列...原创 2018-04-19 13:12:41 · 18404 阅读 · 0 评论 -
Hbase的WAL机制
简介WAL(Write-Ahead-Log)预写日志是Hbase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。在每次Put、Delete等一条记录时,首先将其数据写入到RegionServer对应的HLog文件中去。客户端向RegionServer端提交数据的时候,会先写入WAL日志,只有当WAL日志写入成功的时候,客户端才会被告诉提交数据成功。如果写WAL失败...原创 2018-04-19 13:53:52 · 5831 阅读 · 0 评论 -
Hbase行级事务模型
Hbase事务原子性保证Hbase的数据首先会写入WAL,再写入Memstore。写入Memstore异常的话很容易实现回滚,因子只要保证WAL的原子性即可,每个事务只会产生一个WAL单元,这样就可以保证其原子性。Hbase事务一致性保证Hbase事务隔离性保证写写并发控制实现写写并发控制,只需要在写入或者更新之前先获取行锁,如果获取不到,就说明有其它的线程已经获得了该锁,就需要不断的重试等待或者...原创 2018-04-19 15:11:05 · 2097 阅读 · 0 评论 -
Hive数据倾斜
一、数据倾斜产生原因1.操作join一个表很小,但是key集中;分发到某一个或者几个Reduce上的数据远高于平均值。大表与大表,但是字段的空值很多;这些空值都由一个reduce进行操作,速度非常的慢。group by数据维度非常的小,某值的数据非常多;处理某值的reduce非常耗时。count distinct某特殊值多;处理此特殊值的reduce非常的耗时。2.原因(1)key值分布不均匀。(...原创 2018-04-19 20:31:16 · 676 阅读 · 0 评论 -
hive中的排序
1.order by对输入做全局排序,因此只有一个reduce。只有一个reduce会导致当输入规模较大的时候,需要较长的计算时间。2.sort by 不是全局排序,其在数据进入reduce之前完成排序。3.distribute by按照指定的字段对数据进行划分输出到不同的reduce中去,select后面涉及的列不必使用聚合操作。4.cluster by除了distribute by以外还有so...原创 2018-04-19 20:50:24 · 345 阅读 · 0 评论