• 工作笔记----数据提取


    一、背景
    入职后第一个上手项目。从一堆日志中提取出特定字段,然后导入数据库。

    二、问题
    1. 日志在不同的服务器上
    2. 单个服务器上的内存空间不足,不能用来一次性解压很多数据
    3. 使用python编写,刚开始对python不熟悉
    4. 时间按照秒转化的,数据库中是按照毫秒存储
    5. 日志按照月份、日期排序,存在部分日期的日志不存在和数据存储在不同位置的情况

    三、处理
    1. 使用python在线上处理,不必转移到线下。
    2. 按照月份进行解压,避免了不同月份日期不同的现象,逐月解压避免了内部存储空间不足的问题
    3. 采用正则表达式匹配数据
    4. 在load数据时,采用set关键字解决了时间毫秒存储的问题
    5. 部分日期日志不存在和数据存储在不同位置的问题,程序检测到某个日期的日志不存在就会停止,数据存储在不同的位置则要将其移动到统一的解压位置。

    四、优化
    1. 提升处理时间
    将每处理一个新文件打开一次write.txt,改为只打开一次待所有文件处理完再关闭。
    将每处理一条数据写一次,改为将所有数据存储在一个字符串里,一次写入。

  • 相关阅读:
    ASP连接mysql
    jsp中动态include与静态include的区别
    Create & Post free text invoice by code
    自定义Form作为Dialog
    动态多关联查询
    转到主表窗口
    获取当前用户组
    一个Job调用另外一个Job
    保存图片到硬盘
    在编辑框中增加右键菜单
  • 原文地址:https://www.cnblogs.com/tf-Y/p/9399763.html
Copyright © 2020-2023  润新知