1. 创建表
  2. create 'test1', 'lf', 'sf'
  3. lf: column family of LONG values (binary value)
  4. -- sf: column family of STRING values
  5. 导入数据
  6. put 'test1', 'user1|ts1', 'sf:c1', 'sku1'
  7. put 'test1', 'user1|ts2', 'sf:c1', 'sku188'
  8. put 'test1', 'user1|ts3', 'sf:s1', 'sku123'
  9. put 'test1', 'user2|ts4', 'sf:c1', 'sku2'
  10. put 'test1', 'user2|ts5', 'sf:c2', 'sku288'
  11. put 'test1', 'user2|ts6', 'sf:s1', 'sku222'
  12. 一个用户(userX),在什么时间(tsX),作为rowkey
  13. 对什么产品(valueskuXXX),做了什么操作作为列名,比如,c1: click from homepage; c2: click from ad; s1: search from homepage; b1: buy
  14. 查询案例
  15. 谁的值=sku188
  16. scan 'test1', FILTER=>"ValueFilter(=,'binary:sku188')"
  17. ROW COLUMN+CELL
  18. user1|ts2 column=sf:c1, timestamp=1409122354918, value=sku188
  19. 谁的值包含88
  20. scan 'test1', FILTER=>"ValueFilter(=,'substring:88')"
  21. ROW COLUMN+CELL
  22. user1|ts2 column=sf:c1, timestamp=1409122354918, value=sku188
  23. user2|ts5 column=sf:c2, timestamp=1409122355030, value=sku288
  24. 通过广告点击进来的(columnc2)值包含88的用户
  25. scan 'test1', FILTER=>"ColumnPrefixFilter('c2') AND ValueFilter(=,'substring:88')"
  26. ROW COLUMN+CELL
  27. user2|ts5 column=sf:c2, timestamp=1409122355030, value=sku288
  28. 通过搜索进来的(columns)值包含123或者222的用户
  29. scan 'test1', FILTER=>"ColumnPrefixFilter('s') AND ( ValueFilter(=,'substring:123') OR ValueFilter(=,'substring:222') )"
  30. ROW COLUMN+CELL
  31. user1|ts3 column=sf:s1, timestamp=1409122354954, value=sku123
  32. user2|ts6 column=sf:s1, timestamp=1409122355970, value=sku222
  33. rowkeyuser1开头的
  34. scan 'test1', FILTER => "PrefixFilter ('user1')"
  35. ROW COLUMN+CELL
  36. user1|ts1 column=sf:c1, timestamp=1409122354868, value=sku1
  37. user1|ts2 column=sf:c1, timestamp=1409122354918, value=sku188
  38. user1|ts3 column=sf:s1, timestamp=1409122354954, value=sku123
  39. FirstKeyOnlyFilter: 一个rowkey可以有多个version,同一个rowkey的同一个column也会有多个的值, 只拿出key中的第一个column的第一个version
  40. KeyOnlyFilter: 只要key,不要value
  41. scan 'test1', FILTER=>"FirstKeyOnlyFilter() AND ValueFilter(=,'binary:sku188') AND KeyOnlyFilter()"
  42. ROW COLUMN+CELL
  43. user1|ts2 column=sf:c1, timestamp=1409122354918, value=
  44. user1|ts2开始,找到所有的rowkeyuser1开头的
  45. scan 'test1', {STARTROW=>'user1|ts2', FILTER => "PrefixFilter ('user1')"}
  46. ROW COLUMN+CELL
  47. user1|ts2 column=sf:c1, timestamp=1409122354918, value=sku188
  48. user1|ts3 column=sf:s1, timestamp=1409122354954, value=sku123
  49. user1|ts2开始,找到所有的到rowkeyuser2开头
  50. scan 'test1', {STARTROW=>'user1|ts2', STOPROW=>'user2'}
  51. ROW COLUMN+CELL
  52. user1|ts2 column=sf:c1, timestamp=1409122354918, value=sku188
  53. user1|ts3 column=sf:s1, timestamp=1409122354954, value=sku123
  54. 查询rowkey里面包含ts3
  55. import org.apache.hadoop.hbase.filter.CompareFilter
  56. import org.apache.hadoop.hbase.filter.SubstringComparator
  57. import org.apache.hadoop.hbase.filter.RowFilter
  58. scan 'test1', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('ts3'))}
  59. ROW COLUMN+CELL
  60. user1|ts3 column=sf:s1, timestamp=1409122354954, value=sku123
  61. 查询rowkey里面包含ts
  62. import org.apache.hadoop.hbase.filter.CompareFilter
  63. import org.apache.hadoop.hbase.filter.SubstringComparator
  64. import org.apache.hadoop.hbase.filter.RowFilter
  65. scan 'test1', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('ts'))}
  66. ROW COLUMN+CELL
  67. user1|ts1 column=sf:c1, timestamp=1409122354868, value=sku1
  68. user1|ts2 column=sf:c1, timestamp=1409122354918, value=sku188
  69. user1|ts3 column=sf:s1, timestamp=1409122354954, value=sku123
  70. user2|ts4 column=sf:c1, timestamp=1409122354998, value=sku2
  71. user2|ts5 column=sf:c2, timestamp=1409122355030, value=sku288
  72. user2|ts6 column=sf:s1, timestamp=1409122355970, value=sku222
  73. 加入一条测试数据
  74. put 'test1', 'user2|err', 'sf:s1', 'sku999'
  75. 查询rowkey里面以user开头的,新加入的测试数据并不符合正则表达式的规则,故查询不出来
  76. import org.apache.hadoop.hbase.filter.RegexStringComparator
  77. import org.apache.hadoop.hbase.filter.CompareFilter
  78. import org.apache.hadoop.hbase.filter.SubstringComparator
  79. import org.apache.hadoop.hbase.filter.RowFilter
  80. scan 'test1', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'),RegexStringComparator.new('^user\d+\|ts\d+$'))}
  81. ROW COLUMN+CELL
  82. user1|ts1 column=sf:c1, timestamp=1409122354868, value=sku1
  83. user1|ts2 column=sf:c1, timestamp=1409122354918, value=sku188
  84. user1|ts3 column=sf:s1, timestamp=1409122354954, value=sku123
  85. user2|ts4 column=sf:c1, timestamp=1409122354998, value=sku2
  86. user2|ts5 column=sf:c2, timestamp=1409122355030, value=sku288
  87. user2|ts6 column=sf:s1, timestamp=1409122355970, value=sku222
  88. 加入测试数据
  89. put 'test1', 'user1|ts9', 'sf:b1', 'sku1'
  90. b1开头的列中并且值为sku1
  91. scan 'test1', FILTER=>"ColumnPrefixFilter('b1') AND ValueFilter(=,'binary:sku1')"
  92. ROW COLUMN+CELL
  93. user1|ts9 column=sf:b1, timestamp=1409124908668, value=sku1
  94. SingleColumnValueFilter的使用,b1开头的列中并且值为sku1
  95. import org.apache.hadoop.hbase.filter.CompareFilter
  96. import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
  97. import org.apache.hadoop.hbase.filter.SubstringComparator
  98. scan 'test1', {COLUMNS => 'sf:b1', FILTER => SingleColumnValueFilter.new(Bytes.toBytes('sf'), Bytes.toBytes('b1'), CompareFilter::CompareOp.valueOf('EQUAL'), Bytes.toBytes('sku1'))}
  99. ROW COLUMN+CELL
  100. user1|ts9 column=sf:b1, timestamp=1409124908668, value=sku1
  101. hbase zkcli 的使用
  102. hbase zkcli
  103. ls /
  104. [hbase, zookeeper]
  105. [zk: hadoop000:2181(CONNECTED) 1] ls /hbase
  106. [meta-region-server, backup-masters, table, draining, region-in-transition, running, table-lock, master, namespace, hbaseid, online-snapshot, replication, splitWAL, recovering-regions, rs]
  107. [zk: hadoop000:2181(CONNECTED) 2] ls /hbase/table
  108. [member, test1, hbase:meta, hbase:namespace]
  109. [zk: hadoop000:2181(CONNECTED) 3] ls /hbase/table/test1
  110. []
  111. [zk: hadoop000:2181(CONNECTED) 4] get /hbase/table/test1
  112. ?master:60000}l$??lPBUF
  113. cZxid = 0x107
  114. ctime = Wed Aug 27 14:52:21 HKT 2014
  115. mZxid = 0x10b
  116. mtime = Wed Aug 27 14:52:22 HKT 2014
  117. pZxid = 0x107
  118. cversion = 0
  119. dataVersion = 2
  120. aclVersion = 0
  121. ephemeralOwner = 0x0
  122. dataLength = 31
  123. numChildren = 0

HBase filter shell操作的更多相关文章

  1. HBase scan shell操作详解

    创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value) -- sf: column family ...

  2. HBASE与hive对比使用以及HBASE常用shell操作。与sqoop的集成

    2.6.与 Hive 的集成2.6.1.HBase 与 Hive 的对比1) Hive(1) 数据仓库Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以方 ...

  3. Hbase之shell操作

    一. 介绍 HBase是一个分布式的.面向列的 开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源 ...

  4. 【hbase】hbase的shell操作笔记

    HBase Shell $ ./bin/hbase shell # 进入交互界面 DDL操作: create:创建表(默认命名空间为default) # create '表名','列族1','列族2' ...

  5. HBase常用shell操作

    行(row),列(Column),列蔟(Column Family),列标识符(Column Qualifier)和单元格(Cell) 行:由一个个行键(rowkey)和一个多个列组成.其中rowke ...

  6. HBase的Shell操作

    1.进入命令行 bin/hbase shell 2.输入help 查看各种命令组. 命令是分组的,可以执行help 'general'查看general组的命令. 3.常用命令 --显示有哪些表 li ...

  7. hbase的常用的shell命令&hbase的DDL操作&hbase的DML操作

    前言 笔者在分类中的hbase栏目之前已经分享了hbase的安装以及一些常用的shell命令的使用,这里不仅仅重新复习一下shell命令,还会介绍hbase的DDL以及DML的相关操作. hbase的 ...

  8. HBase学习笔记——配置及Shell操作

    1.HBase的配置 还是以前配置的集群,见:http://www.cnblogs.com/DarrenChan/p/6493373.html 我们约定:weekend03和weekend04放HMa ...

  9. Hbase_02、Hbase的常用的shell命令&Hbase的DDL操作&Hbase的DML操作(转)

    阅读目录 前言 一.hbase的shell操作 1.1启动hbase shell 1.2执行hbase shell的帮助文档 1.3退出hbase shell 1.4使用status命令查看hbase ...

随机推荐

  1. 在eclipse中使用第三方库总结

    一.建立user library 导入第三方jar文件,最简单的方式是:右键工程/属性/java build path/add external jars. 另一种方式是:window/prefren ...

  2. 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解

    看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you d ...

  3. MyBatis学习--mybatis开发dao的方法

    简介 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法. 主要概念介绍: MyBatis中进行Dao开发时候有几个重要的类,它们是SqlSessionFac ...

  4. 【BZOJ 2820】YY的GCD

    线性筛积性函数$g(x)$,具体看Yveh的题解: http://sr16.com:8081/%e3%80%90bzoj2820%e3%80%91yy%e7%9a%84gcd/ #include< ...

  5. 【BZOJ 2809】【APIO 2012】dispatching

    昨天晚上zyf神犇问我的题,虽然我太弱参加不了APIO但也做一做吧. 用小数据拍了无数次总是查不出错来,交上去就WA,后来用国内数据测发现是主席树上区间相减的值没有用long long存,小数据真是没 ...

  6. 51nod 1007 正整数分组

    将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的.   Input 第1行:一个数N,N为正整数的数量 ...

  7. BitmapFactory

    1.以文件流的方式,假设在sdcard下有test.png图片FileInputStream fis = newFileInputStream("/sdcard/test.png" ...

  8. Mysql 中 iddata1的缩小步骤

    原因就不多说了,,,, 直接上干货. 1. 备份数据库 mysqldump -q -uroot -ppassword --add-drop-table --all-databases >all1 ...

  9. codevs1183泥泞的道路

    题意:给定一张有向稠密图和通过每条边的时间和路程,问从1到n的路程/时间 最大为多少 正解:SPFA+二分答案 开始做的时候,想直接跑图论,后来发现好像不对(不然数据范围怎么这么小) 但是显然要用到图 ...

  10. MATLAB for循环优化三例

    最近一周,对MATLAB有进行了新一轮的学习,对其矩阵化编程的思维有了更深入的了解.确实精妙! 例1: 将矩阵A= [1 2 3; 2 4 3; 3 4 5]中所有的数字3替换为33. 如果还停留在C ...