关于读取分析大文本文件的问题

2016-07-05 18:26:59 +08:00
 zander1024
RT,手机版游戏用的 Linux 服务器,负责人说 Linux 不用写日志到数据库,写到文本文件就好了,很容易分析出来....
其实我是想喷他的,奈何他是老大。 有没有什么语言能够快速分析这种大文本文件的,我去学下...
2768 次点击
所在节点    问与答
23 条回复
iyaozhen
2016-07-05 18:36:02 +08:00
→_→为什么要写日志到数据库,数据库远没有文件稳定呀。写数据库业务还要处理数据库的连接,效率和性能都不高。

分析日志然后入库有个专业术语叫 ETL ,简单的可以用 Python 、 shell 来做一天几百 g 的日志完全没问题,数据量大的就要用 Hadoop , spark 这一套了
sorra
2016-07-05 18:42:56 +08:00
大多数语言,只要支持文件流,一段一段读进来。例如 Java FileReader
b821025551b
2016-07-05 18:43:39 +08:00
日志有多大?每天到 Tb 级别了么?没到 Tb 用文本没什么问题, shell 脚本还是很强大的。
jugelizi
2016-07-05 19:04:30 +08:00
文件日志有什么问题?
9hills
2016-07-05 19:05:26 +08:00
你老大说的对,日志写数据库的才是脑抽。日志里提取的数据才需要写到数据库里
9hills
2016-07-05 19:05:55 +08:00
另外日志处理的速度基本取决于 IO 速度。。
fcicq
2016-07-05 19:06:18 +08:00
除了不能和结构化比压缩比以外没缺点. 数据库不好好搞根本达不到这个对比点.
qiayue
2016-07-05 19:06:32 +08:00
ZB 不成反被 C
Jaylee
2016-07-05 19:25:28 +08:00
小伙子 你要走的路还长啊
h4x3rotab
2016-07-05 19:44:46 +08:00
导入分布式文件系统跑 mapreduce
xuboying
2016-07-05 19:47:37 +08:00
也有运维用 elk 作为解决方案,类似数据库,当然纯文本数据分析绝对是 Perl/Python 的天下。
cszhiyue
2016-07-05 19:53:35 +08:00
你们老大说得对
changshu
2016-07-05 20:06:21 +08:00
如果数据库指的是关系数据库的话, 你老大干得对
3dwelcome
2016-07-05 20:09:02 +08:00
大家没理解楼主的意思…楼主是问如何 sql 语句来解析文本 log 。

没数据库无所谓…没 select 可怎么活。
omengye
2016-07-05 20:14:52 +08:00
之前用 c++读文本文件,十多个 G 也就几秒钟读个遍。只需要把文件中需要的东西整理出来入库我觉得就行,两个程序一个读、一个入库方便查询。如果只是用来统计日志信息的
droiz
2016-07-05 21:36:03 +08:00
日志写文件里很正常+正确+普遍啊,,,
gulucn
2016-07-05 23:20:47 +08:00
你老大说的对,正确的处理流程应该是程序写日志,然后工具扫描日志进行处理,可以导入数据库或其他处理的。
qqmishi
2016-07-05 23:30:15 +08:00
日志不处理直接写到数据库才叫好玩, linux 下用 sed 、 awk 、 grep 三个可以很好的处理大型文本文件了
ototsuyume
2016-07-06 00:18:37 +08:00
有些日志可以写入 OLAP 做优化的 db 方便做分析,比如广告点击的 log 。但是假如你的日志是单纯用来 debug 的那写数据库就是脑抽了
m939594960
2016-07-06 09:05:41 +08:00
围观楼主被打脸

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/290471

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX