欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求解统计系统设计的一些技术方案和实现

程序员文章站 2022-05-23 15:44:08
...
从数据源到数据呈现说说目前的情况吧,

数据源:
1、mysql
2、日志文件

呈现:
1、csv文件导出或者发送邮件
2、提供接口数据给web呈现图标

当前涉及的一些技术点:
从日志文件读取数据主要是 shell + awk ,从 mysql 主要是 php 读取数据存储到文件,之后通过 php 或者 shell 来进行一些运算或者统计处理, 相应数据入库或者发送邮件提供给需求方。

目前项目积累了大量的脚本,和一些临时性的解决办法(零散脚本),而且随着数据的增长, mysql 这部分效率也越来越慢, 复杂的脚本已经变得越来越难维护。这些脚本有一些是需要的时候手工跑一次,还有很多是定时跑,如果继续下去已经快不可控了。

寻求一套从数据入口到数据呈现的解决方案,或者是各位有经验的同学分享分享。

日志文件存储在 hadoop 上一部分,目前没有写 mapreduce 直接去处理这部分。

->3Q

回复内容:

从数据源到数据呈现说说目前的情况吧,

数据源:
1、mysql
2、日志文件

呈现:
1、csv文件导出或者发送邮件
2、提供接口数据给web呈现图标

当前涉及的一些技术点:
从日志文件读取数据主要是 shell + awk ,从 mysql 主要是 php 读取数据存储到文件,之后通过 php 或者 shell 来进行一些运算或者统计处理, 相应数据入库或者发送邮件提供给需求方。

目前项目积累了大量的脚本,和一些临时性的解决办法(零散脚本),而且随着数据的增长, mysql 这部分效率也越来越慢, 复杂的脚本已经变得越来越难维护。这些脚本有一些是需要的时候手工跑一次,还有很多是定时跑,如果继续下去已经快不可控了。

寻求一套从数据入口到数据呈现的解决方案,或者是各位有经验的同学分享分享。

日志文件存储在 hadoop 上一部分,目前没有写 mapreduce 直接去处理这部分。

->3Q

0、方案取决于你的目标和团队实力。自建方案的复杂度和你的期望成正比,和数据量成正比。
1、你可以研究一下Splunk或者Logstash + ES + Kibana这两个方案,相信会有惊喜。
2、如果还想更深入,可以了解一下SIEM。
3、Dirty And Quick是一种选择;Flexable是另一种选择。

源数据整理好格式,定好Schema,用Hive统计,用Oozie定时跑作业,结果放在约定好的地方,用Web呈现。
基本上都是这么个套路。

只能采纳一个答案.
其实这是一个讨论性的话题,希望有更多的人参与吧。