我的编程空间,编程开发者的网络收藏夹
学习永远不晚

hive与hbase整合

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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: buy
put '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.CompareFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.filter.RowFilter

scan 'test1', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('ts3'))}


import org.apache.hadoop.hbase.filter.RegexStringComparator

put '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.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.util.Bytes
scan '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.html

CREATE 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_int
lateral view explode(visits) t as ts, page;

select username, ts, page_id from ts_int
lateral view explode(visits) t as ts, page_id;

select username, pos, ts, page_id from ts_int
lateral view posexplode(visits) t as pos, ts, page_id;

username   pos   ts             page_id
user1      1     1399999999     9
user1      2     1400000000     8
user1      3     1400000001     7
user1      4     1400000002     8443
user2      1     1500000000     17
user2      2     1500000001     8444

select username, from_unixtime(ts), page_id from ts_int lateral view explode(visits) t as ts, page_id;


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

hive与hbase整合

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

HBase与Hive的区别是什么

这篇文章主要介绍“HBase与Hive的区别是什么”,在日常操作中,相信很多人在HBase与Hive的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HBase与Hive的区别是什么”的疑惑有所帮助!
2023-06-03

CDH大数据平台 24Cloudera Manager Console之hbase、hive整合配置(markdown新版)

?个人主页:@与自己作战 ?作者简介:CSDN@博客专家、CSDN@大数据领域优质创作者、CSDN@内容合伙人、阿里云@专家博主 ?希望大佬们多多支持,携手共进 ? 如果文章对你有帮助的话,欢迎评论?点赞?收藏?加关注 ⛔
2023-08-30

MySQL与HBase在混合存储架构中的整合策略

在混合存储架构中,MySQL与HBase的整合策略涉及多个方面,包括数据迁移、性能优化、数据一致性等。以下是对这些方面的详细探讨:数据迁移策略从MySQL到HBase:在数据迁移过程中,首先需要考虑的是如何将MySQL中的数据有效地迁移到
MySQL与HBase在混合存储架构中的整合策略
2024-10-22

hbase和hive配合使用的方法是什么

HBase和Hive是两个不同的技术,但可以配合使用来处理大数据。以下是一种常见的方法:配置Hive与HBase的连接:在Hive的配置文件中,需要指定HBase的连接信息,包括HBase的主机和端口。创建外部表:在Hive中创建一个外部表
hbase和hive配合使用的方法是什么
2023-10-28

hbase与hive是怎么实现数据同步的

这期内容当中小编将会给大家带来有关hbase与hive是怎么实现数据同步的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、impala与hive的数据同步首先,我们在hive命令行执行showdatab
2023-05-31

Linux JSP与Jenkins整合

将Linux、JSP和Jenkins整合在一起,可以构建一个自动化的Web应用程序开发环境安装Java环境:确保在Linux服务器上安装了Java运行环境(JRE)或Java开发工具包(JDK)。你可以使用以下命令安装JDK:sudo a
Linux JSP与Jenkins整合
2024-09-21

Linux JSP与DevSecOps整合

将Linux JSP(JavaServer Pages)与DevSecOps(开发、安全和运维)整合是一个复杂的过程,因为这两个领域分别关注于Web应用程序的开发和部署,以及确保整个软件交付生命周期的安全性。以下是一些建议的步骤和考虑因素,
Linux JSP与DevSecOps整合
2024-09-21

JB4 与 WebLogic 的整合

准备工作 由于种种原因,JB4的配置很重要,否则将无法顺利进行下去,首先要确认你取得的是JB4的 ENTERPRISE 版还有IAS,在 FOUDATION 版里是无法开发EJB的。 因为我们通常使用中文win2000操作系统,而 webl
2023-06-03

redis与ssm如何整合

这篇文章主要介绍redis与ssm如何整合,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SSM+redis整合ssm框架之前已经搭建过了,这里不再做代码复制工作。这里主要是利用redis去做mybatis的二级缓存,
2023-05-30

MongoDB安装与Spring整合

MongoDB是面向文档的非关系型数据库,数据模型是一种类似于JSON的结构,在数据库中存的是各种各样的JSON。官网下载地址:https://www.mongodb.com/download-center/enterprise  一、以Centos为例,安装
MongoDB安装与Spring整合
2021-09-03

如何解决Hbase、elasticsearch整合中jar包冲突的问题

这篇文章主要介绍了如何解决Hbase、elasticsearch整合中jar包冲突的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题背景再数据平台中,项目搭建需要使用e
2023-05-30

MySQL与HBase在数据湖架构中的互补与融合

MySQL与HBase在数据湖架构中可以互补与融合,各自发挥其优势,共同支持大规模数据处理和实时分析的需求。以下是MySQL与HBase在数据湖架构中的互补与融合的相关信息:MySQL与HBase的互补性MySQL的优势:MySQL是一种
MySQL与HBase在数据湖架构中的互补与融合
2024-10-22

编程热搜

目录