【盛唐】JAVA版数据清洗工具
培训手册

1 产品定义
数据清洗,对应英文名称ETLExtract-Transform-Load),用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。数据清洗的目的,是将不同业务系统产生的零散、格式不一的异构数据源,通过预先定义的转换、校验规则进行清洗,最后按照标准化、规范化的数据格式要求,将业务数据汇总到集中存储的数据仓库,为后续的大数据分析、报表统计、数据挖掘业务提供基础数据。
2 开发目的
由于历史原因,医院使用的软件系统种类繁杂,不同的业务系统、不同的软件开发商、不同的开发版本的使用,导致院内系统越来越庞大,且系统产生的数据缺乏规范和统一标准,无法友
好共享。如何让业务数据的价值得到更充分的发挥?数据清洗工具将实现这一需求。此外,在去IOE、去微软化的国家政策层面的驱动下,越来越来的院内系统要求在Linux环境下部署运行,Java开发语言因其“一次编译,处处运行”的跨平台特性,成为首选的开发语言,用其开发出来的产品,将会满足更复杂多变的环境要求,其市场也会越来越广。
3 系统安装部署
[具体内容请参考:《【盛唐】JAVA版数据清洗工具产品配置说明文档v1.0.docx]
3.1 安装操作系统:中标麒麟
3.2 安装中间数据库:Mysql
3.3 安装数据清洗工具:ETLTool
4 ETL工具的使用流程
系统流程:抓数据源->保存到中间库->执行清洗作业(数据比对、校验、转换、报错、记录清洗状态)->数据上传到目标库。
4.1 使用前的准备工作
1. 获取源库、目标库的数据库和表结构:为了更快速地编写任务配置文件,首先明确目标库、目标表的具体定义和要求,然后出源库和目标库的业务对应关系。
2. 获取源库、目标库的业务字典:将所有与字典相关的业务,从源库中导出为标准格式的TXT文本,合成,再导入到ETL系统中,即可作为系统字典,在所有的清洗业务中使用,提高效率。
3. 测试数据源:加载配置文件后,先进行数据源的测试,确保数据库连接畅通,保证清洗任务的正常进行。
4.2 试运行测试
刚开始使用ETL工具时,可能因为配置文件、网络、数据、使用不熟悉等原因,造成清洗工作未能顺利完成,为了避免前期不合格的清洗数据对目标库造成过多影响,可将配置文件中的“autoUpload”设置为false,表示不上传结果;也可以先把目标库指向为一个临时的测试库地址。
试运行结束后,清理测试数据(删除数据库或数据表),重新执行数据库初始化脚本,进入正式使用的流程。
4.2 正式使用
1. 导入和修改业务字典(保证源库和目标库的字典对应关系);
2. 编写任务配置文件(保证源库和目标库的字段对应关系,检查目标库的地址,autoUpload是否设置为true);
3. 加载任务配置文件到系统中(默认状态为:定时开启)
4. 定时或手动(需关闭定时开关)执行清洗任务。
5 ETL功能说明
具体内容请参考: 《【盛唐】JAVA版数据清洗工具操作手册v1.0.doc
6 配置文件说明
所有配置文件位于conf/目录下:
1) l:任务模板文件,里面有配置的示例和说明。编写任务配置时,可复制此文件,然后进行相应修改;
2) lETL工具专用的本机中间库配置文件,使用时,需要按实际环境修改数据库名称、用户名、密码等。(系统会自动维护中间库etl-mid,不需要人工维护);
3) log4j.properties:日志输出的配置文件,不用修改,程序运行时会在elttools.jar的同一级目录下自动生成日志文件APP.log
7 日志文件说明
elttools.jar的同一级目录下,会自动生成两个日志文件:
1) APP.log:应用程序日志,包含程序运行的信息、调试信息、错误信息等;
2) etl.log:任务执行时输出的清洗信息。
8 错误定位分析
出现错误时,可由以下方法定位错误:
1) 程序错误:打开APP.log,查看详细的异常打印信息;
2) 数据错误:从程序中打开“详细错误日志”菜单,分析里面的错误记录,可以看到错误发生在哪个阶段(读取、清洗、上传)、哪条记录、具体的出错原因。
常见的错误发生原因:
1) 网络连接异常;
2) 业务字典配置不完整;
3) 任务配置文件编写有误。
9 Linux简单培训
常用指令
1) cd:定位目录
2) ls:查看目录下内容
3) su:切换用户
4) mkdir:新建目录
5) rmdir:删除目录
6) service:控制服务启停,如:service mysql start(/stop/restart)
7) cat(或者less):查看文件内容
8) tail –f:查看动态刷新的文件尾部,如:tail –f APP.log
java后端开发培训Linux远程连接工具
1) Xshell:远程终端;
2) Xftp:文件传输;
3) 其他:VNC Viewer PuTTY SecureCRT