zoukankan      html  css  js  c++  java
  • hadoop之hbase基本操作

    hbase shell 进入hbase命令行
    list 显示HBASE表
    status 系统上运行的服务器的细节和系统的状态
    version 返回HBase系统使用的版本
    table_help 引导如何使用表引用的命令
    whoami 返回当前HBase用户
    # 建表
    create 'base_test','personal data','professional data'
    disable 'emp' 禁用表 enable可以重新启用
    is_disabled 'table name' 查看表是否被禁用
    disable_all 'r.*' 禁用一系列表
    describe 'emp' 表描述
    alter 't1', NAME => 'f1', VERSIONS => 5  单元的最大数目设置为5
    # 使用alter,可以设置和删除表范围,运算符,如MAX_FILESIZE,READONLY,MEMSTORE_FLUSHSIZE,DEFERRED_LOG_FLUSH等。
    alter 'emp', READONLY 设置表为只读
    alter 't1', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
    alter 'table name', 'delete'=> 'column family'
    # 删除列簇
    alter 'employee','delete'=>'professional' 
    exists 'emp' 判断表是否存在
    drop 'emp' 删除表,删除表之前必须先禁用表
    drop_all 't.*'  批量删除
    put 'emp','1','personal data:name','raju' 插入数据
    put 'emp','1','personal data:city','hyderabad'
    put 'emp','1','personal data:city','Delhi' 更新row=1,personal data=city数据的值为Delhi
    get 'emp', '1' 查询数据 
    get 'emp', '1', {COLUMN=>'personal data:name'} 查询指定行、指定列
    delete 'emp', '1', 'personal data:city'  删除数据
    deleteall 'emp','1' 删除所有数据
    count 'emp' 统计表的行数
    truncate 'table name' 禁止删除并重新创建一个表
    grant <user> <permissions> [<table> [<column family> [<column; qualifier>]] 
    R - 代表读取权限
    W - 代表写权限
    X - 代表执行权限
    C - 代表创建权限
    A - 代表管理权限
    grant 'Tutorialspoint', 'RWXCA' 
    revoke命令用于撤销用户访问表的权限
    revoke 'Tutorialspoint'
    user_permission 'emp' 列出了emp表的所有用户权限。
    
    # 新增列簇要先声明
    disable 'emp'
    alter 'emp', NAME => 'daily', VERSIONS =>1
    enable 'emp'
    # 为新列簇加入数据
    put 'emp','2017-11-30','module:headline','375683'
    put 'emp','2017-11-30','module:community','101464'
    put 'emp','2017-11-30','module:car','443372'
    put 'emp','2017-11-30','module:service','43633'
    put 'emp','2017-11-30','module:my','90770'
    put 'emp','2017-12-01','module:headline','369003'
    put 'emp','2017-12-01','module:community','103500'
    put 'emp','2017-12-01','module:car','437643'
    put 'emp','2017-12-01','module:service','41259'
    put 'emp','2017-12-01','module:my','91521'
    
    # 查询数据——通过rowkey
    get 'emp','2017-12-01'
    
    # 查询数据——通过rowkey+columnkey
    get 'emp','2017-12-01',{COLUMN => 'basic:active'}
    get 'emp','2017-12-01','basic:login'
    get 'emp','2017-12-01',{COLUMN => 'basic:active', TIMESTAMP => 1513218051477}
    get 'emp','2017-12-01',{COLUMN => 'basic:active', TIMESTAMP => 1513218051477,VERSIONS => 1}
    # 查询数据——通过rowkey+多个columnkey
    get 'emp','2017-12-01',{COLUMN =>['basic:active','basic:newadd']}
    
    # 查询数据——通过rowkey+family
    get 'emp','2017-12-01','basic'
    
    # 查询行数
    count 'emp'
    # 删除正行
    deleteall 'emp','row1'
    
    # 按columkey查询
    scan 'emp',{COLUMN => 'basic:active'}
    scan 'emp',{COLUMN => ['basic:active','basic:newadd'],LIMIT => 2}
    
    # rowkey模糊查询
    scan 'emp',{FILTER=>org.apache.hadoop.hbase.filter.PrefixFilter.new(org.apache.hadoop.hbase.util.Bytes.toBytes('2017-12'))}
    
    # 通过时间戳查询
    scan 'emp',{TIMERANGE =>[1513218313453,1513218314019]}
    # rowkey模糊查询——前缀过滤
    scan 'emp',{ FILTER => "PrefixFilter ('2017-11')"}
    # 查询rowkey中包含'12-0'的
    import org.apache.hadoop.hbase.filter.CompareFilter
    import org.apache.hadoop.hbase.filter.SubstringComparator
    import org.apache.hadoop.hbase.filter.RowFilter
    scan 'emp', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('12-0'))}
    # 查询rowkey 从2017-12-01开始,到2017-12-04截止,包含前不包含后
    scan 'emp', {STARTROW=>'2017-12-01', STOPROW=>'2017-12-04'}
    # 查询columnkey中前缀是'lo'
    scan 'emp', FILTER=>"ColumnPrefixFilter('lo')"
    # 查询value中包含'57'的
    scan 'emp', FILTER=>"ValueFilter(=,'substring:57')"
    
    # 计数器
    incr 'emp', '2017-12-01', 'daily:hits', 1
    incr 'emp', '2017-12-01', 'daily:hits'
    # 获取计数器
    get_counter 'emp', '2017-12-01', 'daily:hits'

    将hdfs上的数据push到hbase中

     hadoop fs -put -f '/data/bglogs/databoardshells/app_ctr.txt' /tmp/hbase-input/
     hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,ctr:c_key,ctr:show,ctr:click app_client /tmp/hbase-input/app_ctr.txt

     
  • 相关阅读:
    微信开发SDK使用教程--手机微信群聊新增通知服务端
    微信开发SDK使用教程--手机微信联系人信息上传服务端
    微信开发SDK使用教程--手机端接收发送朋友圈任务指令后数据回传服务端
    微信二次开发SDK使用教程--手机端向服务端发送回复朋友圈评论任务反馈服务端
    js 自执行匿名函数(转载)
    js继承中,原型属性的继承探究
    搭建邮件服务器和使用压测工具的总结
    window.onload和window.document.readystate的探究
    读艾伦的jQuery的无new构建,疑惑分析——jquery源码学习一
    WPF页面 全球化和本地化
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/8252630.html
Copyright © 2011-2022 走看看