首页 > 手机 > 配件 > 一文详解Hive的谓词下推,bigtable

一文详解Hive的谓词下推,bigtable

来源:整理 时间:2022-04-07 19:13:27 编辑:华为40 手机版

Bigtable和MapReduce、GFS之间的关系是什么

Bigtable和MapReduce、GFS之间的关系是什么

GFS、Bigtable、MapReduce的关系GFS(Google File System)使Google的分布式文件系统,Bigtable也是构建在GFS之上的,MapReduce也需要利用GFS作为数据的输入和输出。Bigtable是什么Bigtable是分布式表格系统,表格由很多行组成,每行通过一个rowkey唯一标识,每行包含很多列,多个列组成列族。

列族是访问控制的基本单元。Bigtable构建在GFS之上,并且依赖于Goole的Chubby进行服务器的选举和全局信息的维护。读写当有客户端向 发送写操作时,它会先向 tablet log追加一条记录,在日志成功追加之后再向 memtable 中插入该条记录,写比较方便。当有客户端进行读操作时,会在 memtable 和 SSTable 上进行合并查找。

读就比较复杂了,还需要确认数据在哪里,当然这里会使用很多优化的方法,比如缓存数据,使用Bloom lters快速确认数据是不是存在一个SSTable里。memtable和SSTable中的数据都是有序的,SSTable是由memtable生成的,当memtable达到一定量时,就会被冻结,新的memtable就会被生成,被冻结的memtable就会转化成SSTable,并写入到GFS上。

LevelDB 是对Bigtable 论文中描述的键值存储系统的实现,并且由 Bigtable 的作者 Jeff Dean 和 Sanjay Ghemawat 共同完成,可以参考下LevelDB的实现。总结了解Bigtable,需要了解下LSM树,现在的数据存储引擎一般就是哈希、B树、LSM树。像我们使用的mysql的InnoDB存储引擎就是B 树。

文章TAG:Hivebigtable下推谓词一文

最近更新