zoukankan      html  css  js  c++  java
  • 工作笔记----数据提取

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

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

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

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

  • 相关阅读:
    爱摘苹果的小明
    盗梦空间
    九九乘法表
    谁是最好的Coder
    画图
    黑色帽子
    a letter and a number
    运维开发面试题
    python 守护进程daemon
    kubernets 应用部署
  • 原文地址:https://www.cnblogs.com/tf-Y/p/9399763.html
Copyright © 2011-2022 走看看