# ali2021 **Repository Path**: nlh1996/ali2021 ## Basic Information - **Project Name**: ali2021 - **Description**: 阿里2021程序设计大赛 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-24 - **Last Updated**: 2021-06-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ali2021 #### 介绍 阿里2021程序设计大赛 #### 软件架构 软件架构说明 #### 安装教程 1. go mod init 2. go mod tidy 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 数据清洗 处理程序除了实现输入数据的读取、分类、按照PK/UK列去重合并、定序输出外,还要实现简单的数据清洗逻辑。这里包括如下4类清洗操作: 1. 非法整数数值。如定义为int的列值出现了非法字符,我们统一将其处理为"0"值;比如表item表,i_price字段类型为decimal(5,2),出现了SQ字符串,则认为非法列值; 2. 超长浮点数精度。如定义为decimal(3, 2)的列值中出现了小数点后3位,我们对其进行4舍5入;比如order_line表,ol_amount字段出现值5.346,则需要清洗为5.35; 3. 非法时间数据。如定义为datetime的列值中出现了非法的日期,我们将其统一成"2020-04-01 00:00:00.0";非法时间数据一般包括大小写字母,比如:2021-04-1a 15:41:55.0; 4. 超长字符长度。如定义为varchar(16)的列值出现了17个字符,此时我们按照此列的最大长度对列值截断(注意不考虑"\0"因素)。比如warehouse表w_state字段类型为char(2),出现了"aaaaaaa"长度值,则需要截断处理"aa";