第五章:基于Hive实现海量数据离线处理

本文详细介绍了基于Hive实现海量数据的离线处理流程,包括环境搭建、数据准备、数据清洗、数据处理及结果分析。通过Flume收集数据,Hive管理HDFS中的日志,创建外部表并清洗无关数据,计算访问量、独立访客数等关键指标,最后通过Sqoop将数据导入MySQL并使用Echarts进行可视化展示。
摘要由CSDN通过智能技术生成

Hive离线分析

回顾业务流程

准备

搭建环境

1.启动Hadoop

start-all.sh

2.修改flume配置文件

flume.properties

a1.sources  =  r1

a1.sinks  =  k1

a1.channels  =  c1



a1.sources.r1.type  =  avro

a1.sources.r1.bind  =  0.0.0.0

a1.sources.r1.port  =  22222

a1.sources.r1.interceptors = t1

a1.sources.r1.interceptors.t1.type = timestamp



a1.sinks.k1.type = hdfs

a1.sinks.k1.hdfs.path = hdfs://hadoop01:9000/flux/reportTime=%Y-%m-%d

a1.sinks.k1.hdfs.fileType=DataStream

a1.sinks.k1.serializer = text

a1.sinks.k1.serializer.appendNewline = false


a1.channels.c1.type  =  memory

a1.channels.c1.capacity  =  1000

a1.channels.c1.transactionCapacity  =  100



a1.sources.r1.channels  =  c1

a1.sinks.k1.channel  =  c1

3.启动flume

cd /usr/local/src/flume/apache-flume-1.6.0-bin/conf
../bin/flume-ng agent -c ./ -f ./flume.properties -n a1 -Dflume.root.logger=INFO,console

4.启动jt-logserver

5.测试

访问locahost/a.jsp和locahost/b.jsp

准备数据

以下方式只做参考,可以自己随意访问产生数据,注意,关闭浏览器代表一个会话终结,清除cookie或者更换浏览器模拟不同用户。

浏览器A:访问3次a.jsp,2次b.jsp关闭浏览器

浏览器B:访问3次a.jsp,2次b.jsp关闭浏览器

浏览器A:访问1次a.jps

浏览器B:访问1次b.jps

注意,flume输出的数据不是一条一个单独文件,而是根据我们的配置及自身的策略来决定何时生成一个完整的文件。

Create:开始创建一个tmp零时文件并写入数据

Closing:关闭写入链接,停止对该文件的操作

Renaming:重命名tmp文件为最终文件

Writer callback called:重置写入状态

如何配置单个文件的大小?以下为图例,详见官网

以上配置都有默认值,所以我们不配也没有问题。但是即使配置了固定值,flume也不一定会按照我们的想法来执行,通过翻阅源码可以发现,flume除了安装配置数据执行外还额外增加了自己的判定逻辑,当长时间没有活动时,也会关闭本次链接,生成一个完整的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值