zoukankan      html  css  js  c++  java
  • Hadoop 之Hbase命令

    一、常用命令:(hbase shell 进入终端)

    1.创建表:

    create 'users','user_id','address','info'

    表users,有三个列族user_id,address,info

    2.列出全部表

    list

    3.得到标的信息

    describe‘users’

    4.删除表

    disable 'users'

    drop 'users‘

     

    5.清空表

    truncate ’users’

    6.添加记录

    put 'users','xiaoming','info:age','24'

    put 'users','xiaoming','info:birthday','1987-06-17'

    put 'users','xiaoming','info:company','alibaba'

    7.获取一条记录

    1.取得一个id的所有数据

    get 'users','xiaoming'

    2.获取一个id,一个列族的所有数据

    get 'users','xiaoming','info'

    3.

    获取一个id,一个列族中一个列的所有数据

    get 'users','xiaoming','info:age'

    8.全表扫描

    scan ‘users’

    9.统计表的行数

    count ‘users’

     

    Hadoop 之Hbase命令

    HBASE基础知识*
    HBASE的集群的搭建*
    HBASE Shell***
    HBASE的批量导入***
    HBASE的Java客户端***
    HBASE的表设计*
    HBASE的底层存储模型*
    HBASE优化*
    HBASE协处理器*

    1.Hbase简介

    HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

    HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。

        分布式开源数据库,基于hadoop分布式文件系统(HDFS)

        模仿提供了Google文件系统的BigTable数据库所有功能

        处理非常庞大的表

        普通计算机处理10亿条数据

        利用mapreduce计算数据,利用zookeeper协调资源

    2. 列式数据库的概述

    列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取。

    行式数据库在做一些列分析时,必须将所有列的信息全部读取出来

    而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析,效率节省90%。

    此外,列式数据库在每列上还有专门的列压缩算法进一步提高数据库性能,这是行式数据库不具备的。

    3.Hbase数据模型-逻辑模型

    表(table) 字符串
    行(row) 行由行健(rowkey)唯一标识
    列族(column failmy)行的数据按列族分组cf,创建表的时候定义,不轻易修改
    列限定符(column qualifier)列里面的数据定位通过列限定符
    单元(cell)行健,列族和列限定符一起确定一个单元,value
    时间版本(vesion)单元值有时间版本,用时间戳来标识默认3个。

    image

    1)行键(RowKey)
    行键是字节数组, 任何字符串都可以作为行键;
    表中的行根据行键进行排序,数据按照Row key的字节序(byte order)排序存储
    所有对表的访问都要通过行键
    (单个RowKey访问,或RowKey范围访问,或全表扫描)

    2)列族(ColumnFamily)CF必须在表定义时给出
    数据按CF分开存储,HBase所谓的列式存储就是根据CF分开存储
    (每个CF对应一个Store),这种设计非常适合于数据分析的情形     

    3)列限定符(column qualifier)
    列里面的数据定位通过列限定符 每个CF可以有一个或多个列成员(ColumnQualifier),
    列成员不需要在表定义时给出,新的列族成员可以随后按需、动态加入
    4)时间戳(TimeStamp)
    每个Cell可能又多个版本,它们之间用时间戳区分

    5)单元格(Cell)Value
    Cell 由行键,列族:限定符,时间戳唯一决定
    Cell中的数据是没有类型的,全部以字节码形式存贮

    4. hbase 数据模型-物理模型

    物理数据模型其实就是将逻辑模型中的一个Row分割成为根据Column family存储的物理模型。

    对于BigTable的数据模型操作的时候,会锁定Row,并保证Row的原子操作。

    Hbase由行和列组成行按照((列族))    划分

    每个列族在硬盘上都自己的HFile(二进制文件,不能直接读取)

    HFile:一个列族可以有多个HFile,但是一个HFile不能储存多个列族(Column),每个列族都有一个MemStore

    一行中的一个列族数据不一定存放在同一个HFile里,一行中的列族数据需要物理的存放在一起

    HBase表是横向划分为很多region的

    region是存放在不同的region server的。

    5.

    详细的讲解hbase原理

    http://www.cnblogs.com/shitouer/archive/2012/06/04/2533518.html

    6. habase shell 命令

    http://www.cnblogs.com/kaituorensheng/p/3814925.html

    7.查询同一条记录的多个版本

    http://blog.csdn.net/wind520/article/details/39344805

    8

  • 相关阅读:
    UI进阶--UIPikcerView实现餐点搭配示例
    UI基础--UITableView实现仿QQ好友列表页面
    通知和代理
    UI基础--UITableView实现仿QQ聊天页面
    UI基础--UITableView实现仿微博页面
    UI基础--UITableView,UITableViewDataSource,UITableViewDelegate的一些属性和方法
    UI基础--使用UIScrollView、UIPageControl、NSTimer实现图片循环播放
    UI基础--UIScrollView和UIScrollViewDelegate
    NSURLSession 简介
    Core Animation
  • 原文地址:https://www.cnblogs.com/chaoren399/p/4821111.html
Copyright © 2011-2022 走看看