HBase-1.0.1学习笔记(二)HBaseShell工具使用-创新互联-成都快上网建站

HBase-1.0.1学习笔记(二)HBaseShell工具使用-创新互联

鲁春利的工作笔记,好记性不如烂笔头

为企业提供做网站、网站制作、网站优化、营销型网站建设、竞价托管、品牌运营等营销获客服务。创新互联拥有网络营销运营团队,以丰富的互联网营销经验助力企业精准获客,真正落地解决中小企业营销获客难题,做到“让获客更简单”。自创立至今,成功用技术实力解决了企业“网站建设、网络品牌塑造、网络营销”三大难题,同时降低了营销成本,提高了有效客户转化率,获得了众多企业客户的高度认可!


hbase(main):017:0> create 't_domain', 'c_domain' 0 row(s) in 0.4520 seconds => Hbase::Table - t_domain

    通过HDFS查看

HBase-1.0.1学习笔记(二)HBase Shell工具使用

    HBase中行键(RowKey)是表中唯一的,并且按照字典排序由低到高存储在表中的。

hbase(main):018:0> put 't_domain', 'row1', 'c_domain:name', 'baidu.com' 0 row(s) in 0.6830 seconds hbase(main):019:0> put 't_domain', 'row2', 'c_domain:name', 'sina.com' 0 row(s) in 0.0870 seconds hbase(main):020:0> put 't_domain', 'row3', 'c_domain:name', 'mycms.com' 0 row(s) in 0.0100 seconds hbase(main):021:0> put 't_domain', 'row10', 'c_domain:name', 'www.163.com' 0 row(s) in 0.0280 seconds hbase(main):022:0> put 't_domain', 'row21', 'c_domain:name', 'www.51cto.com' 0 row(s) in 0.0240 seconds hbase(main):023:0> scan 't_domain' ROW                            COLUMN+CELL                                                                                                                 row1                          column=c_domain:name, timestamp=1440340474441, value=baidu.com                                                              row10                         column=c_domain:name, timestamp=1440340536382, value=www.163.com                                                            row2                          column=c_domain:name, timestamp=1440340492582, value=sina.com                                                               row21                         column=c_domain:name, timestamp=1440340550534, value=www.51cto.com                                                          row3                          column=c_domain:name, timestamp=1440340518003, value=mycms.com                                                             5 row(s) in 0.1350 seconds

HBase Shell工具:

    选择一台HBase集群的节点(建议选择客户端节点),执行命令bin/hbase shell

    看到如下命令说明已进入hbase shell环境,执行help命令可以查看帮助信息:

[hadoop@dnode1 bin]$ hbase shell HBase Shell; enter 'help' for list of supported commands. Type "exit" to leave the HBase Shell Version 0.98.1-hadoop2, r1583035, Sat Mar 29 17:19:25 PDT 2014 hbase(main):001:0> help HBase Shell, version 0.98.1-hadoop2, r1583035, Sat Mar 29 17:19:25 PDT 2014 Type 'help "COMMAND"', (e.g. 'help "get"' -- the quotes are necessary) for help on a specific command. Commands are grouped. Type 'help "COMMAND_GROUP"', (e.g. 'help "general"') for help on a command group.   COMMAND GROUPS:   Group name: general   Commands: status, table_help, version, whoami     Group name: ddl   Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, show_filters     Group name: namespace   Commands: alter_namespace, create_namespace, describe_namespace, drop_namespace, list_namespace, list_namespace_tables     Group name: dml   Commands: append, count, delete, deleteall, get, get_counter, incr, put, scan, truncate, truncate_preserve     Group name: tools   Commands: assign, balance_switch, balancer, catalogjanitor_enabled, catalogjanitor_run, catalogjanitor_switch, close_region, compact, flush, hlog_roll, major_compact, merge_region, move, split, trace, unassign, zk_dump     Group name: replication   Commands: add_peer, disable_peer, enable_peer, list_peers, list_replicated_tables, remove_peer, set_peer_tableCFs, show_peer_tableCFs     Group name: snapshot   Commands: clone_snapshot, delete_snapshot, list_snapshots, rename_snapshot, restore_snapshot, snapshot     Group name: security   Commands: grant, revoke, user_permission     Group name: visibility labels   Commands: add_labels, clear_auths, get_auths, set_auths   # 查看集群状态 hbase(main):002:0> status 3 servers, 0 dead, 3.0000 average load   # 该集群有3台RegionServer,没有”死掉“的RegionServer中,平均每台有3个Region。   # HBase版本命令 hbase(main):003:0> version 0.98.1-hadoop2, r1583035, Sat Mar 29 17:19:25 PDT 2014   # 返回值为由逗号分割的三个部分,0.98.1-hadoop2表示HBase版本号,r1583035表示修订版本,第三部分为编译HBase的时间。   # 查看ddl命令组的帮助 hbase(main):006:0> help 'ddl' Command: alter Alter a table. Depending on the HBase setting ("hbase.online.schema.update.enable"), the table must be disabled or not to be altered (see help 'disable'). You can add/modify/delete column families, as well as change table  configuration. Column families work similarly to create; column family  spec can either be a name string, or a dictionary with NAME attribute. Dictionaries are described on the main help command output.   For example, to change or add the 'f1' column family in table 't1' from  current value to keep a maximum of 5 cell VERSIONS, do:     hbase> alter 't1', NAME => 'f1', VERSIONS => 5   You can operate on several column families:     hbase> alter 't1', 'f1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5}   // 略   # 示例: hbase(main):033:0> create 'tb1', {NAME => 'cf1', VERSIONS => 5} 0 row(s) in 20.1040 seconds   => Hbase::Table - tb1   hbase(main):035:0> create 'tb2', {NAME => 'cf1'}, {NAME => 'cf2'}, {NAME => 'cf3'} 0 row(s) in 19.1130 seconds   => Hbase::Table - tb2   # 上述命令的简化版本如下 hbase(main):036:0> create 'tb3', 'cf1' 0 row(s) in 6.8610 seconds   => Hbase::Table - tb3   hbase(main):037:0> create 'tb4', 'cf1', 'cf2', 'cf3'  # 三个列族 0 row(s) in 6.2010 seconds   hbase(main):045:0> list TABLE httptable tb1     tb2 tb3    tb4    testtable                                                                                                            6 row(s) in 2.3430 seconds   => ["httptable", "tb1", "tb2", "tb3", "tb4", "testtable"] hbase(main):046:0>    # 说明: # => 表示赋值,如{NAME = 'cf1'}; # 字符串必须使用单引号引起来,如'cf2'; # 如果创建表时需要指定列族的特定属性,需要花括号括起来,如{NAME='cf1', VERSIONS=5}   hbase(main):025:0> help 'namespace' Command: alter_namespace Alter namespace properties.   To add/modify a property:     hbase> alter_namespace 'ns1', {METHOD => 'set', 'PROERTY_NAME' => 'PROPERTY_VALUE'}   To delete a property:     hbase> alter_namespace 'ns1', {METHOD => 'unset', NAME=>'PROERTY_NAME'}   // 略   hbase(main):048:0> create_namespace 'ns1' 0 row(s) in 4.7320 seconds   hbase(main):049:0> list_namespace NAMESPACE default hbase   ns1     3 row(s) in 11.0490 seconds   hbase(main):050:0> create 'ns1:tb5', 'cf' # 列族cf 0 row(s) in 12.0680 seconds   => Hbase::Table - ns1:tb5 hbase(main):051:0> list_namespace_tables 'ns1' TABLE   tb5     1 row(s) in 2.1220 seconds   hbase(main):052:0>    # 查看DML命令的帮助 hbase(main):026:0> help 'dml'   hbase(main):052:0> put 'ns1:tb5', 'baidu.com', 'cf:owner', 'BeiJingBaiduCo.' 0 row(s) in 0.4400 seconds   hbase(main):053:0> put 'ns1:tb5', 'baidu.com', 'cf:ipstr', '61.135.169.121' 0 row(s) in 1.1640 seconds   hbase(main):054:0> put 'ns1:tb5', 'baidu.com', 'cf:reg_date', '19990415' 0 row(s) in 0.3530 seconds   hbase(main):055:0> put 'ns1:tb5', 'baidu.com', 'cf:address', '北京' 0 row(s) in 2.7540 seconds   hbase(main):056:0> put 'ns1:tb5', 'alibaba.com', 'cf:ipstr', '205.204.101.42' 0 row(s) in 1.2040 seconds   # 统计表的行数 hbase(main):064:0> count 'tb5'   ERROR: Unknown table tb5! hbase(main):066:0> count 'ns1:tb5' 2 row(s) in 0.3110 seconds   => 2 hbase(main):067:0> count 'ns1:tb5', INTERVAL => 100000 2 row(s) in 0.0170 seconds   => 2 # 单行读 hbase(main):068:0> get 'ns1:tb5', 'baidu.com' COLUMN       CELL cf:address     timestamp=1441006344446, value=\xE5\x8C\x97\xE4\xBA\xAC cf:ipstr      timestamp=1441006329572, value=61.135.169.121 cf:owner      timestamp=1441006321284, value=BeiJingBaiduCo. cf:reg_date    timestamp=1441006335701, value=19990415 4 row(s) in 0.1150 seconds   hbase(main):074:0> get 'ns1:tb5', 'baidu.com', 'cf:ipstr' COLUMN        CELL cf:ipstr      timestamp=1441006329572, value=61.135.169.121 1 row(s) in 0.0200 seconds   hbase(main):075:0>  # 如果COLUMN未指定column family则会提示错误 # ERROR: Unknown column family! Valid column names: cf:* hbase(main):076:0> get 'ns1:tb5', 'baidu.com', {COLUMN => 'cf:reg_date'} COLUMN                 CELL cf:reg_date            timestamp=1441006335701, value=19990415 1 row(s) in 0.0170 seconds   hbase(main):077:0>    # 扫描表 scan 'hbase:meta' scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}   # 删除列 hbase(main):004:0> delete 'ns1:tb5', 'baidu.com', 'cf:address' 0 row(s) in 0.2260 seconds   hbase(main):005:0> get 'ns1:tb5', 'baidu.com' COLUMN      CELL cf:ipstr    timestamp=1441006329572, value=61.135.169.121 cf:owner    timestamp=1441006321284, value=BeiJingBaiduCo. cf:reg_date   timestamp=1441006335701, value=19990415 3 row(s) in 0.0210 seconds   # 清空表 hbase(main):006:0> truncate 'ns1:tb5' Truncating 'ns1:tb5' table (it may take a while):  - Disabling table...  - Dropping table...  - Creating table... 0 row(s) in 76.4690 seconds   hbase(main):007:0> get 'ns1:tb5', 'baidu.com' COLUMN       CELL                                      0 row(s) in 0.0480 seconds   其他操作略。

Thrift客户端:

    略

MapReduce批量操作HBase

  见http://luchunli.blog.51cto.com/2368057/1691298

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:HBase-1.0.1学习笔记(二)HBaseShell工具使用-创新互联
标题链接:http://kswjz.com/article/djijig.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流