about云分析discuz论坛apache日志hadoop大数据项目:hive与hbase是如何整合使用的
此篇需要具有hive、hbase整合基础,可以参考:hive与hbase整合原理介绍
hbase0.96与hive0.12整合高可靠文档及问题总结
这里说一下项目实现的思路,此篇属于项目需求文档:数据的清洗以及导入hbase、hive准备工作
一、准备工作
首先我们启动hadoop、hbase、hive
如下图所示:
1.启动hadoop
start-dfs.sh
start-yarn.sh
2.启动hbase
start-hbase.sh
hbase shell
3.启动hive
启动服务端
hive --service metastore
启动客户端
hive
static/image/hrline/2.gif
上面准备工作完毕,下面我们开始创建表,其实也比较简单。
我们这个项目主要是对日志进行清洗,并且导入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表show tables;
我们看到创建hive表
2.查看hbase表
list
static/image/hrline/2.gif
上图我们已经我们就实现了在插入hbase的同时hive同样能够查询得到。
这里我们小小的展示一下:
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'
0 row(s) in 0.6850 seconds
static/image/hrline/2.gif
验证结果:
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
上图红字部分为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就能统计了
{:soso_e181:} 你们都用的什么版本集成的啊?我用的hadoop 2.2,hbase 0.96, hive0.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 ewwerpm 发表于 2014-8-14 21:33
你们都用的什么版本集成的啊?我用的hadoop 2.2,hbase 0.96, hive0.12,按照上面的步骤做,到最后一步h ...
理论上是的,这些需要做一些特殊的处理。
他们的安装过程都是差不多的。如果不熟悉,则需要按照官网的配置,这样不容易出问题。
他们的之间的对应关系,可以参考
hadoop、hbase、hive版本对应关系
正是想看的。多谢分享 很好,适合初学者,没有搭建环境而又希望了解这些产品的人。 正是想看的。多谢分享 学习了 辛苦啦 好好学习,天天向上 非常感谢分享