hive与hbase整合
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,-- hbase shell filter --create 'test1', 'lf', 'sf' -- lf: column family of LONG values
千家信息网最后更新 2025年11月08日hive与hbase整合
-- 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', 'sku123'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 )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 )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 )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;
用户
变量
时间
产品
设备
页面
整合
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
务川索菲亚大酒店网络安全
数据库数据变动监控方法
网络安全教育的作文
网络安全保密智能化
数据库连接池技术选项
流媒体服务器级联实现
网络安全管理漏洞有哪些
陕西聚点网络技术有限公司
杭州国企软件开发 社招
宠物在线诊疗软件开发
理光wl1060打印服务器
怎么看泰拉服务器ip
数据库如何保证数据不丢失
机i算计网络技术专业
软件开发有几种过程
软件开发 晋升机制
英国网络安全硕士专业排名
数据库分库架构
雁塔区系统软件开发
服务器30兆光纤赚钱吗
福建系统软件开发外包
tcl软件开发公司
arm架构服务器应用场景
焱虎网络技术有限公司
高校网络安全讲话稿
宠物在线诊疗软件开发
无锡金鑫互联网科技有限公司
白血病数据库建立
汽车软件开发公司哪个最好
网络技术保修时间