暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

HBase学习

龙虫 2021-07-22
191

一:概念理解

    1.ROWKEY

    2.SCAN全表扫描

    3.range范围(ROWKEY)

二:安装

    1. Hadoop  zookeeper hdfs

    2.追加Path(不能出现空格) 使环境变量生效(source etc/profile)

    3.更改网络netWORKS)

    4.永久关闭防火墙***********

    5.整个重启(reboot)

三:组件功能分工

    Master(管理:regionserver,DDL请求,管理所有数据分片到regionserver的分配,hdfs文件清理);RegionServer(数据服务节点,与Client请求的交互):Write Ahead Log;zookeeper(Master的选举,存储-META表的地址:存储所有region的寻址入口,监听RegionServer的健康状态)

四:HBase的数据模型:Table的逻辑视图 K(rowkey, column, version)

    1.列族是表的schema的一部分

    Table的物理存储

    Table = N Region 按RowKey水平切分

    Region = N Store: 按ColumnFamily垂直切分

    Store = 1 MemStore(内存)+ N HFile(HDFS): 每次flush会产生一个新的HFile

五:Table设计建议

    1.自定义namespace

    2.为表定义合理的Schema(列族的属性)

    3.建表是设置合理的预分区

    4.ROWKEY的设计(业务场景,利用hash)

    5.列族,列名称尽量简短一些

    6.设置合理的版本数据

HBase读写方法

写:put,delete(major_compact 标记的删除掉)deleteall(删除整行)

读:scan,get (支持过滤器来扩展器查询功能)

各种命令:

list_namespace

create_namespace 'gp'

help 'create'

create 'gp:testt' ,'info' ,{NUMREGIONS =>4,}

DESC 'gp:testt'

alter 'gp:gestt',{name =>'info',version=>'3'}

put 'gp:testt','123','info:cl1','v1'

scan ,{RAW => TRUE, VERSIONS => 10}

标记为删除的所有数据:

major_compact 

compact(小合并不会删除被标记的数据)

数据即是索引

list

list 'ns1:.*'

help 'desc'

alter:修改添加删除(列族属性,表的属性)

HBase的高级查询

    1.filter(过滤器:查询条件过滤)SingleColumnValueFilter

    2.没有对应列,不会被过滤;put进hbase的数据虽然是字节数组,会通过字符串转换,默认按字典顺序进行比较的

    3、过滤器链FilterList(本身是一个Filter)

        a. RegexStringComparator

        b. SubStringComparator 

HBase的寻址机制

    .root表(记录信息:user_info region1 region2)

    .meta表(记录信息:user_info rk00001-rk100000  region1                 regionserver1)

    client客户端(缓存地址路径)


文章转载自龙虫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论