电脑版
首页

搜索 繁体

19 使用 python 构建基于 hadoop 的 mapreduce 日志分析平台

热门小说推荐

最近更新小说

图片 19.1 pic

流量比较大的日志要是直接写入 Hadoop 对 Namenode 负载过大,所以入库前合并,可以把各个节点的日志凑并成一个文件写入 HDFS。 根据情况定期合成,写入到 hdfs 里面。

咱们看看日志的大小,200 G 的 dns 日志文件,我压缩到了 18 G,要是用 awk perl 当然也可以,但是处理速度肯定没有分布式那样的给力。

图片 19.2 pic

Hadoop Streaming 原理

mapper 和 reducer 会从标准输入中读取用户数据,一行一行处理后发送给标准输出。Streaming 工具会创建 MapReduce 作业,发送给各个 tasktracker,同时监控整个作业的执行过程。

任何语言,只要是方便接收标准输入输出就可以做 mapreduce~

再搞之前我们先简单测试下 shell 模拟 mapreduce 的性能速度~

图片 19.3 pic

看下他的结果,350 M 的文件用时 35 秒左右。

图片 19.4 pic

这是 2 G 的日志文件,居然用了 3 分钟。 当然和我写的脚本也有问题,我们是模拟 mapreduce 的方式,而不是调用 shell 下牛逼的 awk,gawk 处理。

Loading...

未加载完,尝试【刷新】or【退出阅读模式】or【关闭广告屏蔽】。

尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!

移动流量偶尔打不开,可以切换电信、联通、Wifi。

收藏网址:www.ziyungong.cc

(>人<;)