立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://www.aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

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

已有 681 次阅读2014-8-3 12:23 | discuz, about

此篇需要具有hive、hbase整合基础,可以参考:
hive与hbase整合原理介绍
hbase0.96与hive0.12整合高可靠文档及问题总结

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



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

1.启动hadoop


  1. start-dfs.sh
复制代码
 



  1. start-yarn.sh
复制代码
 





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





  1. hbase shell
复制代码

 




3.启动hive

启动服务端

  1. hive --service metastore
复制代码



 



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

 





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

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


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

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

我们看到创建hive表
 

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

 





上图我们已经我们就实现了在插入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
复制代码
 





验证结果:




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 

1 row(s) in 0.1050 seconds


 

hbase.png (18.14 KB, 下载次数: 0)

下载附件  保存到相册

昨天 00:02 上传



上图红字部分为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 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条