about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 29584|回复: 53

about云分析discuz论坛apache日志hadoop大数据项目:hive与hbase是如何整合使用的

[复制链接]
发表于 2014-8-2 00:06:05 | 显示全部楼层 |阅读模式
此篇需要具有hive、hbase整合基础,可以参考:
hive与hbase整合原理介绍
hbase0.96与hive0.12整合高可靠文档及问题总结

这里说一下项目实现的思路,此篇属于项目需求文档:数据的清洗以及导入hbase、hive准备工作



一、准备工作
首先我们启动hadoop、hbase、hive
如下图所示:

1.启动hadoop


  1. start-dfs.sh
复制代码
starthdfs.png



  1. start-yarn.sh
复制代码
startyarn.png





2.启动hbase
  1. start-hbase.sh
复制代码
starthbase.png





  1. hbase shell
复制代码

hbaseshell.png




3.启动hive

启动服务端

  1. hive --service metastore
复制代码



hive start.png



启动客户端
  1. hive
复制代码

hive client.png





上面准备工作完毕,下面我们开始创建表,其实也比较简单。

我们这个项目主要是对日志进行清洗,并且导入hbase、与hive中,为了避免重复导入,因此我们采用了hbase与hive整合,这样在导入hbase的同时,hive同时也导入了,避免了重复工作。那么这里的建表工作就显的比较重要。


CREATE TABLE LogTable(Key string,IpAddress string,Url string,UserBrowser string,AccressTime string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,Info:IpAddress,Info:Url,Info:UserBrowser,Info:AccressTime") TBLPROPERTIES ("hbase.table.name" = "LogTable");

上面分别创建了hive以及hbase对应的表LogTable
1.查看hive表
  1. show tables;
复制代码

我们看到创建hive表
hive create table.png

2.查看hbase表
  1. list
复制代码

hbase表.png





上图我们已经我们就实现了在插入hbase的同时hive同样能够查询得到。

这里我们小小的展示一下:

  1. hbase(main):010:0> put 'LogTable','192.168.1.10 http://www.aboutyun.com/thread-8472-1-1.html 123','Info:IpAddress','192.168.1.10'
  2. 0 row(s) in 0.6850 seconds
复制代码
shili.png





验证结果:




hbase验证



ROW COLUMN+CELL
192.168.1.10 http:// column=Info:IpAddress, timestamp=1406908690106, value=192.
www.aboutyun.com/thr 168.1.10
ead-8472-1-1.html 12
3

1 row(s) in 0.1050 seconds

hbase.png

上图红字部分为RowKey


hive验证:

hive> select * from logtable;
OK
192.168.1.10 http://www.aboutyun.com/thread-8472-1-1.html 123        192.168.1.10        NULL        NULL        NULL        NULL
Time taken: 3.024 seconds, Fetched: 1 row(s)

这个成功之后,我们剩下的工作就是清洗插入,然后hive只写简单的sql就能统计了










0

主题

17

听众

55

收听

高级会员

Rank: 4

积分
2775
QQ
发表于 2014-12-31 08:51:53 | 显示全部楼层
舒舒坦坦过日子,折折腾腾学技术

0

主题

2

听众

0

收听

新手上路

Rank: 1

积分
24
发表于 2014-8-14 21:33:13 | 显示全部楼层
你们都用的什么版本集成的啊?我用的hadoop 2.2,hbase 0.96, hive  0.12,按照上面的步骤做,到最后一步hive查询 显示OK,可是结果集却显示不出来。这个帖子12不兼容96说 hive 0.12和 hbase 0.96不兼容啊,是这样的吗?hive 0.12只兼容hbase 0.94,可是hbase 0.94又不兼容hadoop 2.2,
hive> select * from logtable;
OK
Failed with exception java.io.IOException:java.lang.ClassCastException: org.apache.hadoop.hbase.client.Result cannot be cast to org.apache.hadoop.io.Writable

666

主题

314

听众

293

收听

版主

Rank: 7Rank: 7Rank: 7

积分
6538

活跃会员热心会员推广达人宣传达人突出贡献优秀版主论坛元老

发表于 2014-8-15 10:40:22 | 显示全部楼层
ewwerpm 发表于 2014-8-14 21:33
你们都用的什么版本集成的啊?我用的hadoop 2.2,hbase 0.96, hive  0.12,按照上面的步骤做,到最后一步h ...
理论上是的,这些需要做一些特殊的处理。
他们的安装过程都是差不多的。如果不熟悉,则需要按照官网的配置,这样不容易出问题。
他们的之间的对应关系,可以参考

hadoop、hbase、hive版本对应关系

0

主题

2

听众

0

收听

注册会员

Rank: 2

积分
191
发表于 2014-8-24 19:25:23 | 显示全部楼层
正是想看的。多谢分享

0

主题

2

听众

0

收听

新手上路

Rank: 1

积分
33
发表于 2014-12-24 12:43:58 | 显示全部楼层
很好,适合初学者,没有搭建环境而又希望了解这些产品的人。

0

主题

3

听众

1

收听

中级会员

Rank: 3Rank: 3

积分
311
发表于 2015-5-15 11:01:34 | 显示全部楼层
正是想看的。多谢分享

0

主题

7

听众

8

收听

中级会员

Rank: 3Rank: 3

积分
492
发表于 2016-5-4 09:44:57 | 显示全部楼层
学习了 辛苦啦

0

主题

3

听众

3

收听

中级会员

Rank: 3Rank: 3

积分
599
发表于 2017-2-22 19:42:14 | 显示全部楼层
好好学习,天天向上

0

主题

3

听众

3

收听

中级会员

Rank: 3Rank: 3

积分
599
发表于 2017-2-23 17:38:53 | 显示全部楼层
非常感谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2018-11-17 02:11 , Processed in 0.442751 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表