第101讲: 使用Spark Streaming企业实际数据处理流水线完整声明周期

有兴趣想学习国内整套Spark+Spark Streaming+Machine learning顶级课程的,可加我qq  471186150。共享视频,性价比超高!

1:kafka直接也可以监控一个文件夹,但是为什么我们采用flume的方式,通过flume把文件传给kafka,而不直接通过kafka去监控一个文件夹呢?

1)flume可以搜集分布式的日志

2)kafka直接读取文件,默认情况下,kafka要求文件格式是json格式。而数据很多情况下都不是json格式。这样就会崩溃。当然自定义一个读取器。所以kafka生产环境下很少去读文件,它就是直接收放消息的。

2:企业实际生产环境下初步架构图如下:

1)下图是描述数据来源,如前端有高并发,每秒访问一百万,一千万之类的,用Nginx接收请求后,在后端用Tomcat或者apache之类的做负载均衡。


2)Server中接收到请求路由后一般都会对每个请求在文件中写一条Log:
可以自动配置Server写日志;
也可以通过执行业务逻辑的过程来写日志


3)用户生成的日志或者不同服务器生成的日志一般是比较零散的,企业中一般都会有Crontab等定时工具来通过日志整理工具来把当天的日志采集、合并和初步的处理成为一份日志文件,当然可以多份,分布式建议1份,然后发送到Flume监控目录中!!!当Flume发现有新的日志文件进来的时候,会按照配置把数据通过Channel来Sink到目的地,这里是Sink到Kafka集群中



6)上面kafka的方式是在线数据分析,下面是离线数据分析。日志上的数据当然可以如下图,直接放在hdfs上,但是实际生产环境下基本没有人直接把server上传的日志放在hdfs上。假设放在hdfs上,因为hdfs不断的收到数据,可以对数据进行如下初步的清洗:下面的分区表:每隔一小时或者一天一个目录。下面第3步,在已有表的基础上产生很多表,然后公司的业务人员分析人员基于这些目标表去写sql。执行他相应的分析需要


上面数据仓库进行了多维度的ETL分析后,下面交给spark集群去处理。在企业生产环境下,大多数如果是离线数据分析,Spark处理数据都是基于Hive的,分析后的结果用于提升营业额,利润和市场占有率。而kafka则是在线数据分析






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值