77范文网 - 专业文章范例文档资料分享平台

Flume+Hadoop+Hive的离线分析系统基本架构 - 图文(9)

来源:网络收集 时间:2019-08-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

35. }

36. public String getEntry_page() { 37. return entry_page; 38. }

39. public void setEntry_page(String entry_page) { 40. this.entry_page = entry_page; 41. }

42. public String getLeave_page() { 43. return leave_page; 44. }

45. public void setLeave_page(String leave_page) { 46. this.leave_page = leave_page; 47. }

48. public String getVisit_page_num() { 49. return visit_page_num; 50. }

51. public void setVisit_page_num(String visit_page_num) { 52. this.visit_page_num = visit_page_num; 53. }

54. public String getIP_addr() { 55. return IP_addr; 56. }

57. public void setIP_addr(String iP_addr) { 58. IP_addr = iP_addr; 59. }

60. public String getReferal() { 61. return referal; 62. }

63. public void setReferal(String referal) { 64. this.referal = referal; 65. } 66.

67. @Override

68. public String toString() {

69. return session + \

70. + \

71. + \ 72. } 73. 74. 75. 76. }

第四次清洗日志产生的访问记录表结构如下图: SessionID 访问时间 离开时间 第一次访问最后一次访问的访问的IP 页面 页面 页面总数 /blog/me /home /blog/others /profile 5 10 6 Session1 Session2 Session3 2016-05-30 15:17:00 2016-05-30 14:17:00 2016-05-30 12:17:00 2016-05-30 15:19:00 2016-05-30 15:19:38 2016-05-30 15:40:00 192.168.12.13192.168.12.14/products /detail 192.168.12.15

以上就是要进行日志清洗的所有MapReduce程序,因为只是一个简单的演示,方法并没有做很好的抽象。

MapReduce Troubleshooting

指定某个文件夹路径下所有文件作为mapreduce的输入参数的解决方案。 1.hdfs的文件系统中的路径是支持正则表达式的

2.使用.setInputDirRecursive(job,true)方法,然后指定文件夹路径

在分布式环境下如何设置每个用户的SessionID

可以使用UUID,UUID是分布式环境下唯一的元素识别码,它由日期和时间,时钟序列,机器识别码(一般为网卡MAC地址)三部分组成。这样就保证了每个用户的SessionID的唯一性。

HIVE建立数据仓库

使用MapReduce清洗完日志文件后,我们就开始使用Hive去构建对应的数据仓库并使用HiveSql对数据进行

分析。而在本系统里,我们将使用星型模型来构建数据仓库的ODS(OperationalData Store)层。下面的命令我们可以通过启动Hive的hiveserver2服务器并使用beeline客户端进行操作或者直接写脚本去定时调度。

PageViews数据分析

PageViews的事实表和维度表结构

使用HIVE在数据仓库中创建PageViews的贴源数据表:

>> create table pageviews(session string,ip string,requestdate string,requesttime string,visitpage string, staytime string,step string) comment ?this is the table for pageviews? partitioned by(inputDate string) clustered by(session) sorted by(requestdate,requesttime) into 4 buckets row format delimited

fields terminated by ? ?;

将HDFS中的数据导入到HIVE的PageViews贴源数据表中

>> load data inpath ?/clickstream/pageviews? overwrite into table pageviews partition(inputDate=?2016-05-17?);

如果没有标示是在?Local?本地文件系统中,则会去HDFS中加载数据

根据具体的业务分析逻辑创建ODS层的PageViews事实表,并从PageViews的贴源表中导入数据

这里根据请求的页面URL来分组(clustered)是为了方便统计每个页面的PV

>> create table ods_pageviews(session string,ip string,viewtime string,visitpage string, staytime string,step string) partitioned by(inputDate string) clustered by(visitpage) sorted by(viewtime) into 4 buckets row format delimited fields terminated by ? ?;

>> insert into table ods_pageviews partition(inputDate='2016-05-17') select

pv.session,pv.ip,concat(pv.requestdate,\pageviews as pv where pv.inputDate='2016-05-17';

创建PageViews事实表的时间维度表并从当天的事实表里导入数据

>>create table ods_dim_pageviews_time(time string,year string,month string,day string,hour string,minutes string,seconds string) partitioned by(inputDate String) clustered by(year,month,day) sorted by(time) into 4 buckets row format delimited fields terminated by ' ';

>> insert overwrite table ods_dim_pageviews_time partition(inputDate='2016-05-17') select distinct pv.viewtime,

substring(pv.viewtime,0,4),substring(pv.viewtime,6,2),substring(pv.viewtime,9,2),substring(pv.viewtime,12,2),substring(pv.viewtime,15,2),substring(pv.viewtime,18,2) from ods_pageviews as pv;

创建PageViews事实表的URL维度表并从当天的事实表里导入数据

>> create table ods_dim_pageviews_url(visitpage string,host string,path string,query string) partitioned by(inputDate string) clustered by(visitpage) sorted by(visitpage) into 4 buckets row format delimited fields terminated by ' ';

>> insert into table ods_dim_pageviews_url partition(inputDate='2016-05-17') select distinct

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Flume+Hadoop+Hive的离线分析系统基本架构 - 图文(9)在线全文阅读。

Flume+Hadoop+Hive的离线分析系统基本架构 - 图文(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/675783.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: