hbase 实战case1
来源:互联网 发布:adobe系列软件 编辑:程序博客网 时间:2024/06/01 08:11
-- hbase shell filter --
create 'test1', 'lf', 'sf' -- lf: column family of LONG values (binary value) -- sf: column family of STRING values-- 一个用户(userX),在什么时间(tsX),作为rowkey-- 对什么产品(value:skuXXX),做了什么操作作为列名,比如,c1: click from homepage; c2: click from ad; s1: search from homepage; b1: buyput 'test1', 'user1|ts1', 'sf:c1', 'sku1'put 'test1', 'user1|ts2', 'sf:c1', 'sku188'put 'test1', 'user1|ts3', 'sf:s1', 'sku1232'put 'test1', 'user2|ts4', 'sf:c1', 'sku2'put 'test1', 'user2|ts5', 'sf:c2', 'sku288'put 'test1', 'user2|ts6', 'sf:s1', 'sku222'
scan 'test1', FILTER=>"ValueFilter(=,'binary:sku188')"scan 'test1', FILTER=>"ValueFilter(=,'substring:188')"scan 'test1', FILTER=>"ValueFilter(=,'substring:88')"scan 'test1', FILTER=>"ColumnPrefixFilter('c2') AND ValueFilter(=,'substring:88')"scan 'test1', FILTER=>"ColumnPrefixFilter('s') AND ( ValueFilter(=,'substring:123') OR ValueFilter(=,'substring:222') )"scan 'test1', FILTER=>"FirstKeyOnlyFilter() AND ValueFilter(=,'binary:sku188') AND KeyOnlyFilter()"scan 'test1', FILTER => "PrefixFilter ('user1')"scan 'test1', {STARTROW=>'user1|ts2', FILTER => "PrefixFilter ('user1')"}scan 'test1', {STARTROW=>'user1|ts2', STOPROW=>'user2'}
import org.apache.hadoop.hbase.filter.CompareFilterimport org.apache.hadoop.hbase.filter.SubstringComparatorimport org.apache.hadoop.hbase.filter.RowFilterscan 'test1', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('ts3'))}
import org.apache.hadoop.hbase.filter.RegexStringComparatorput 'test1', 'user2|err', 'sf:s1', 'sku999'scan 'test1', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'),RegexStringComparator.new('^user\d+\|ts\d+$'))}
import org.apache.hadoop.hbase.filter.CompareFilterimport org.apache.hadoop.hbase.filter.SingleColumnValueFilterimport org.apache.hadoop.hbase.filter.SubstringComparatorimport org.apache.hadoop.hbase.util.Bytesscan 't1', { COLUMNS => 'family:qualifier', FILTER => SingleColumnValueFilter.new (Bytes.toBytes('family'), Bytes.toBytes('qualifier'), CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('somevalue'))}put 'test1', 'user1|ts9', 'sf:b1', 'sku1'scan 'test1', FILTER=>"ColumnPrefixFilter('b1') AND ValueFilter(=,'binary:sku1')"scan 'test1', {COLUMNS => 'sf:b1', FILTER => SingleColumnValueFilter.new(Bytes.toBytes('sf'), Bytes.toBytes('b1'), CompareFilter::CompareOp.valueOf('EQUAL'), Bytes.toBytes('sku1'))}
-- binary value --org.apache.hadoop.hbase.util.Bytes.toString("Hello HBase".to_java_bytes)org.apache.hadoop.hbase.util.Bytes.toString("\x48\x65\x6c\x6c\x6f\x20\x48\x42\x61\x73\x65".to_java_bytes)-- 用户userX,作为rowkey,他的各种设备(brwoser, app, pc)作为列名,所对应的cookie_id作为value (长整型变量)put 'test1', 'user1', 'lf:browser1', "\x00\x00\x00\x00\x00\x00\x00\x02"put 'test1', 'user1', 'lf:app1', "\x00\x00\x00\x00\x00\x00\x00\x0F"put 'test1', 'user1', 'lf:app2', "\x00\x00\x00\x00\x00\x00\x00\x10"put 'test1', 'user2', 'lf:app1', "\x00\x00\x00\x00\x00\x00\x00\x11"put 'test1', 'user2', 'lf:pc1', "\x00\x00\x00\x00\x00\x00\x00\x12"scan 'test1', STOPROW=>'user2', FILTER=>"( ColumnPrefixFilter('app') AND ValueFilter(>,'binary:\x00\x00\x00\x00\x00\x00\x00\x0F') )"scan 'test1', LIMIT => 10, FILTER=>"( ColumnPrefixFilter('app') AND ValueFilter(>,'binary:\x00\x00\x00\x00\x00\x00\x00\x0F') )"alter 'test1', NAME => 'cf', METHOD => 'delete'alter 'test1', 'delete' => 'cf'alter 'test1', NAME => 'cf'-- 用户userX,作为rowkey,在什么时间(timestamp)作为列名,访问了什么页面的id作为value:page_id (整型变量)put 'test1', 'user1', 'cf:1399999999', "\x00\x00\x00\x09"put 'test1', 'user1', 'cf:1400000000', "\x00\x00\x00\x08"put 'test1', 'user1', 'cf:1400000001', "\x00\x00\x00\x07"put 'test1', 'user1', 'cf:1400000002', "\x00\x00\x20\xFB"put 'test1', 'user2', 'cf:1500000000', "\x00\x00\x00\x11"put 'test1', 'user2', 'cf:1500000001', "\x00\x00\x20\xFC"
-- hive hbase mapping --CREATE EXTERNAL TABLE user_app_cookie_list ( username STRING, app1_cookie_id BIGINT, app2_cookie_id BIGINT )STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key, lf:app1#b, lf:app2#b")TBLPROPERTIES("hbase.table.name" = "test1");select * from user_app_cookie_list;
-- hive hbase mapping cf with binary --http://www.abcn.net/2013/11/hive-hbase-mapping-column-family-with-binary-value.htmlCREATE EXTERNAL TABLE ts_string ( username STRING, visits map<string, int> )STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key, cf:#s:b")TBLPROPERTIES("hbase.table.name" = "test1");CREATE EXTERNAL TABLE ts_int ( username STRING, visits map<int, int> )STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key, cf:#s:b")TBLPROPERTIES("hbase.table.name" = "test1");CREATE EXTERNAL TABLE ts_int_long ( username STRING, visits map<int, bigint> )STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key, cf:#s:b")TBLPROPERTIES("hbase.table.name" = "test1");select * from ts_intlateral view explode(visits) t as ts, page;select username, ts, page_id from ts_intlateral view explode(visits) t as ts, page_id;select username, pos, ts, page_id from ts_intlateral view posexplode(visits) t as pos, ts, page_id;username pos ts page_iduser1 1 1399999999 9user1 2 1400000000 8user1 3 1400000001 7user1 4 1400000002 8443user2 1 1500000000 17user2 2 1500000001 8444select username, from_unixtime(ts), page_id from ts_int lateral view explode(visits) t as ts, page_id;
#!/bin/shexec $HBASE_HOME/bin/hbase shell <<EOFcreate 'test', {NAME => 't', VERSIONS => 1}EOF
0 0
- hbase 实战case1
- hive 实战笔记case1
- spark 实战笔记case1
- case1
- HBase实战
- HBase实战
- HBase实战
- HBase实战
- Hbase实战二:编程实战
- Hbase 实战 4.1 点滴
- Hadoop实战之HBase
- HBase API 实战
- HBase优化实战
- Hbase Filter Scala 实战
- HBase协处理器实战
- HBase协处理器实战
- Hbase Filter Scala 实战
- HBase协处理器实战
- 16、C语言和设计模式(策略模式)
- 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法
- Python字符串操作之扫描、翻转、截取、输出对齐
- UVALive - 3523 Knights of the Round Table(无向图的双连通分量)
- 深入理解javascript之高级定时器
- hbase 实战case1
- (15.1.11.1)听力之长对话
- 黑客是怎样入侵你的网站的
- hdoj 2717 Catch That Cow(一维坐标广搜)
- MZL's simple problem(STL multiset的应用)
- My split function in Java
- 17、C语言和设计模式(中介者模式)
- 在醒着的时间里,追求你认为最有意义的
- 黑客步骤