论文部分内容阅读
摘 要 本文主要讲述高等职业院校数据采集平台省级数据汇总的处理过程。从到数据采集平台工作薄表格式的多样性和数据存储分散等一些实际情况出发,着手编写预处理程序,将全省各高職院校的数据汇总到测试数据库中。
关键词 高等职业院校数据采集平台 预处理流程
一、平台数据的现状与分析
在数据采集过程中,用户陆续发现了原有平台存在的一些问题:1.平台数据指标含义不明确,名词的专业性太强,不宜读懂,使得数据填报时出现大量的人为填报错误,最终汇总的时候产生较多的异常数据。2.平台的数据字段类型、长度等无控制,这对数据迁移工作带来了较大的困难,因此首先需要对平台的数据进行前期处理,例如:维度和格式的验证筛选。它是ETL(ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。)过程中的一部分,主要去除一些不符合要求的数据文件,保留符合一定规范约束的数据文件。然后,通过编写预处理程序,完成数据的抽取,转换,加载以及数据清洗流程,把最终整合的质量数据存储到数据仓库中。
二、数据处理流程
(一)前期处理。
首先要清楚以下几点:1.数据分别从几个表单中来?2.是否存在手工数据,手工数据量有多大?3.是否存在非结构化的数据?数据项的数据类型是什么?4.数据表单如何设计等等类似问题。
当收集完这些信息之后才可以进行数据抽取的设计。前期处理是对原数据采集平台录入的数据进行筛选,对维度字段(年份、性质、类别)和其他关键指标的数据内容进行格式校验,去除一些人为填报的错误数据和异常数据的院校文件,再对剩下的数据文件进行统一的逻辑校验。去除这些院校文件,实际统计分析出的结果仍然在误差范围内。
(二)ETL实现方法。
ETL的实现方法常用的有三种,第一种:借助ETL工具如Oracle的OWB、SQL Server2005的SSIS服务等实现;第二种:SQL方式实现;第三种:ETL工具和SQL相结合。前两种方法各有优缺点,借助工具可以快速的建立起ETL工程,屏蔽复杂的编码任务,提高速度,降低难度,但是欠缺灵活性。
通过研究数据平台,发现平台中数据存储较为分散,数据存储格式的多样性,无法直接使用现有的工具进行数据抽取转换,需要编写程序对数据进行分类并重新整合,故采用SQL方式实现ETL,方便数据的提取与利用。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。
(三)ETL 设计图。
由于delphi组件OpenDialog读取excel文件只能单个读取,在读取全省数据采集平台文件的时候,需要较多的人工操作,影响读取的效率与后期数据处理的时间。因此通过改变数据访问接口,编写算法完成了指定文件夹内数据采集平台文件的批量导入。旧平台收集的数据都是以学校为单位的excel文件,如果将文件导入到数据库中,需要手工选择导入的文件名称一个一个导入,耗时费力,效率低,还容易出错,经过研究,我们将不同学校的同类型报表放在同一个文件夹,然后遍历文件夹中的所有文件,依次导出每个excel文件中需要抽取的数据,统一存放在同一张数据表中,进行数据清洗。
图2-1为文件批量抽取的流程图:
图2-1 文件批量抽取流程图
(四)ETL 过程模型。
本文中的ELT模型是通过各个院校的数据采集平台,将数据采集汇总起来,通过对数据的转换、抽取、清洗等处理加载到数据仓库中。
图2-2 高等职业院校数据采集平台的ELT模型
整个ETL设计主要完成以下几种工作:
1.数据的抽取和清洗。
数据的抽取需要在调研和研究数据平台阶段做大量的前期工作,在数据抽取时,尽量将没用的数据、不对的数据在抽取时过滤掉,将格式等不符合的转换掉。在进行数据抽取之前,需要洗掉错误数据即数据清洗,这也是数据ETL处理工作的一部分。在这一过程中,针对维度指标进行严格筛选,不符合要求的数据主要是不完整、错误的数据和重复的数据三类。将发现的数据自动删除。
由于在数据抽取加载过程中,需要不断的调用ETL程序,使得数据仓库中存在较多的冗余数据。可以通过输出数据报表的形式来查看冗余数据,然后调用SQL语句保留一条数据行。内容属于数据清洗过程中的一部分。相关代码如下:
delete test from ( select *, ROW_NUMBER()
over (partition by 学校代码,学校名称
order by 学校代码) as row_num from 产学合作情况 ) test WHERE test.row_num > 1
2.数据合并。
SQL数据库1通过数据合并后生成新的数据表,新的数据表存储在SQL数据库2中,新的数据表称为质量数据表。将业务数据从多个数据源中抽取出来,并逐个字段地将数据映射到数据仓库的新数据结构中。这就完成了数据的二次抽取与合并。
三、小结与展望
经多次测试,批处理方案可行,开发的程序可实现批量数据的抽取迁移。通过省级数据实际汇总测试,我们对程序又进行了优化,基本实现批处理程序的通用性。由于高职院校人才培养工作状态数据采集平台2011年新版本的升级,我们将继续研究新平台中的质量数据,维护批处理程序的升级,实现2011新平台的质量数据完整入库。
参考文献:
[1]张喆.高等职业院校人才培养工作评估方案中"状态数据采集平台"研究[J].幸福生活指南·高等职业教育,2010,(10).
[2]万力维.高等职业院校人才培养工作状态数据采集平台[J].数据分析的意义与依据探讨.
[3]殷员分,张自力,蔡海敏,曾铮.数据仓库与OLAP技术在高考志愿数据分析中的应用[J].计算机科学,2010.
[4]周茂伟,邓苏,黄宏斌.基于元数据的ETL工具设计与实现[J].科学技术与工程,2006. (编辑 郑云东)
关键词 高等职业院校数据采集平台 预处理流程
一、平台数据的现状与分析
在数据采集过程中,用户陆续发现了原有平台存在的一些问题:1.平台数据指标含义不明确,名词的专业性太强,不宜读懂,使得数据填报时出现大量的人为填报错误,最终汇总的时候产生较多的异常数据。2.平台的数据字段类型、长度等无控制,这对数据迁移工作带来了较大的困难,因此首先需要对平台的数据进行前期处理,例如:维度和格式的验证筛选。它是ETL(ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。)过程中的一部分,主要去除一些不符合要求的数据文件,保留符合一定规范约束的数据文件。然后,通过编写预处理程序,完成数据的抽取,转换,加载以及数据清洗流程,把最终整合的质量数据存储到数据仓库中。
二、数据处理流程
(一)前期处理。
首先要清楚以下几点:1.数据分别从几个表单中来?2.是否存在手工数据,手工数据量有多大?3.是否存在非结构化的数据?数据项的数据类型是什么?4.数据表单如何设计等等类似问题。
当收集完这些信息之后才可以进行数据抽取的设计。前期处理是对原数据采集平台录入的数据进行筛选,对维度字段(年份、性质、类别)和其他关键指标的数据内容进行格式校验,去除一些人为填报的错误数据和异常数据的院校文件,再对剩下的数据文件进行统一的逻辑校验。去除这些院校文件,实际统计分析出的结果仍然在误差范围内。
(二)ETL实现方法。
ETL的实现方法常用的有三种,第一种:借助ETL工具如Oracle的OWB、SQL Server2005的SSIS服务等实现;第二种:SQL方式实现;第三种:ETL工具和SQL相结合。前两种方法各有优缺点,借助工具可以快速的建立起ETL工程,屏蔽复杂的编码任务,提高速度,降低难度,但是欠缺灵活性。
通过研究数据平台,发现平台中数据存储较为分散,数据存储格式的多样性,无法直接使用现有的工具进行数据抽取转换,需要编写程序对数据进行分类并重新整合,故采用SQL方式实现ETL,方便数据的提取与利用。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。
(三)ETL 设计图。
由于delphi组件OpenDialog读取excel文件只能单个读取,在读取全省数据采集平台文件的时候,需要较多的人工操作,影响读取的效率与后期数据处理的时间。因此通过改变数据访问接口,编写算法完成了指定文件夹内数据采集平台文件的批量导入。旧平台收集的数据都是以学校为单位的excel文件,如果将文件导入到数据库中,需要手工选择导入的文件名称一个一个导入,耗时费力,效率低,还容易出错,经过研究,我们将不同学校的同类型报表放在同一个文件夹,然后遍历文件夹中的所有文件,依次导出每个excel文件中需要抽取的数据,统一存放在同一张数据表中,进行数据清洗。
图2-1为文件批量抽取的流程图:
图2-1 文件批量抽取流程图
(四)ETL 过程模型。
本文中的ELT模型是通过各个院校的数据采集平台,将数据采集汇总起来,通过对数据的转换、抽取、清洗等处理加载到数据仓库中。
图2-2 高等职业院校数据采集平台的ELT模型
整个ETL设计主要完成以下几种工作:
1.数据的抽取和清洗。
数据的抽取需要在调研和研究数据平台阶段做大量的前期工作,在数据抽取时,尽量将没用的数据、不对的数据在抽取时过滤掉,将格式等不符合的转换掉。在进行数据抽取之前,需要洗掉错误数据即数据清洗,这也是数据ETL处理工作的一部分。在这一过程中,针对维度指标进行严格筛选,不符合要求的数据主要是不完整、错误的数据和重复的数据三类。将发现的数据自动删除。
由于在数据抽取加载过程中,需要不断的调用ETL程序,使得数据仓库中存在较多的冗余数据。可以通过输出数据报表的形式来查看冗余数据,然后调用SQL语句保留一条数据行。内容属于数据清洗过程中的一部分。相关代码如下:
delete test from ( select *, ROW_NUMBER()
over (partition by 学校代码,学校名称
order by 学校代码) as row_num from 产学合作情况 ) test WHERE test.row_num > 1
2.数据合并。
SQL数据库1通过数据合并后生成新的数据表,新的数据表存储在SQL数据库2中,新的数据表称为质量数据表。将业务数据从多个数据源中抽取出来,并逐个字段地将数据映射到数据仓库的新数据结构中。这就完成了数据的二次抽取与合并。
三、小结与展望
经多次测试,批处理方案可行,开发的程序可实现批量数据的抽取迁移。通过省级数据实际汇总测试,我们对程序又进行了优化,基本实现批处理程序的通用性。由于高职院校人才培养工作状态数据采集平台2011年新版本的升级,我们将继续研究新平台中的质量数据,维护批处理程序的升级,实现2011新平台的质量数据完整入库。
参考文献:
[1]张喆.高等职业院校人才培养工作评估方案中"状态数据采集平台"研究[J].幸福生活指南·高等职业教育,2010,(10).
[2]万力维.高等职业院校人才培养工作状态数据采集平台[J].数据分析的意义与依据探讨.
[3]殷员分,张自力,蔡海敏,曾铮.数据仓库与OLAP技术在高考志愿数据分析中的应用[J].计算机科学,2010.
[4]周茂伟,邓苏,黄宏斌.基于元数据的ETL工具设计与实现[J].科学技术与工程,2006. (编辑 郑云东)