APP下载

大数据技术在普查数据资料开发中的应用

2020-01-08

统计科学与实践 2020年10期
关键词:数据资料汇总表制表

大数据技术应用于普查数据资料开发的必要性

在新时代,大数据为统计学发展和政府统计提供了新手段、新视角、新要求、新挑战[1]。近年来,我国政府统计大数据应用取得较大进展,比如利用遥感影像和无人机测量数据完善农业统计,以及利用机器学习方法进行行业智能赋码等等[2]。普查数据资料开发中应用大数据技术,将进一步拓宽大数据在政府统计领域的应用路径。

(一)大数据技术在常规统计数据中应用前景广阔

大数据的经典定义是3 个“V”,指包含多样化(Variety)、体量(Volume)不断增长并且具有时效性(Velocity)的数据[3]。随着大数据的进一步发展,行业内对在数据的定义又增加了价值(value)稀疏、真实性(veracity)等多个“V”。对照定义,普查数据不符合大数据的特征,静态看体量不够大,动态看有明确体量上限,结构有明确的定义,多样化有限,价值也不稀疏。普查数据来自于统计机构内部设计,属于常规数据源[4]。大数据另有一种技术角度的描述性定义:大数据是通过获取、存储、分析,从大容量数据中挖掘价值的一种全新的技术架构。按此定义,大数据不仅仅在于数据量大,更在于量变后引发的数据处理思想和技术的全面革新,大数据思想和技术的应用并不受限于数据本身,即使应用在常规数据上,也会带来效能的极大提升。普查数据虽然仍是常规统计数据,但应用大数据技术进行处理将大幅提升数据处理能力和工作效率。

(二)普查数据资料开发传统模式的局限性急需大数据技术的应用

当前,普查数据资料开发均在数据处理平台,或专门的数据资料开发平台上进行。此类平台均为“服务器-客户端”,即“BS”架构,在网页客户端操作,优点是通用性、适用性广,操作简便、直观,可制作多样化、个性化的汇总表。但缺陷也很明显:首先,制作汇总表需要不断重复相同的操作,枯燥且低效;第二,不同表、不同层级无法共用计算资源,不能有效发挥服务器的计算能力;第三,汇总表计算完成后,距离交付排版印刷仍有很多后续工作。普查数据资料开发传统模式的缺陷需占用很多人力资源,尤其经普涉及到多个专业,数据资料开发甚至要分到各个专业分头制作,整个工作流程更加低效。虽然可以完成工作任务,但要使用大量人力资源,假设每个省、市、县都需要2 个人工作1 个月完成,全国就需要约6000 人月。当前各级统计部门人力资源紧张,按现模式完成普查数据资料开发工作捉襟见肘。

基于大数据技术的普查数据资料开发架构设计

(一)分散计算思想是大数据技术的核心

MapReduce 是大数据技术中重要的计算架构,分为两个基本过程:分解(Map)和归约(Reduce)[5],即通过分散计算处理海量数据。其基本思想非常简单,但也非常深刻,甚至我们普查数据资料开发的传统模式也是基于此思想,只不过是通过对不同专业和层级人力资源分配实现的,而不是通过对计算能力的分配。现各种大数据平台,框架均是对大规模计算任务的分解和归约,计算能力非常强大。我们在普查数据资料开发中应用大数据技术,就是摒弃传统上基于人力资源分配任务的模式,改为基于大数据技术对计算能力分配,从而达到节约人力资源、提高工作效率的目的。

(二)普查数据资料的规范性特征及建模

查阅多年各类普查数据资料,会发现,普查数据资料的多样性非常有限,更明显的特征是规范性,指标均在普查方案中,普查方案有延续性,汇总方式只有求和、计数、条件计数等若干种,分组同样是有限且固定若干种。普查数据资料的规范性特征,非常适合使用大数据技术进行处理,可以立杆见影成倍的提高效率。根据普查数据资料的规范性特征,将普查数据资料建模为地区×分组×指标×汇总方式的集合,新架构设计的目标就是将此集合高效的计算出来,再对计算结果进行分割,制作汇数据资料汇总表。根据此模型,普查资料开发可以简化成几个标准的操作:计算分组、分组与数据合并、汇总数据,分组数据、汇总结果可以复用,从而达到流程标准化及提高效率的目标。

(三)普查数据资料开发的新架构的主要模块

根据普查数据资料模型,新架构共分为4 个模块,分别是数据预处理、生成分组、数据汇总和切片制表。预处理对数据结构重整,合并同类数据,使数据处理流程能够通用化,如合并同一主题数据,为所有数据集添加地区、调查对象代码等连接键变量;生成分组,对定义好的所有分组进行计算,每个分组包含地区和主体键变量以及分组值;汇总数据,将分组数据与数据表合并,按地区和分组值对所有适用指标进行各类汇总计算,及后续非汇总操作,如转置、过滤等,最终生成大汇总表;切片制表,对大汇总表进行指标分块,并计算比例、结构,编制标题和表号,生成规范可展示的统计汇总表。

(四)基于大数据技术的普查数据开发新架构的特征

第一,整体性,对普查数据资料建模为集合,不但成倍减少了定义分组和汇总表指标的数量,而且提升了数据资料产品完整性、逻辑性和一致性;第二,无需手工制表,计算完成后,直接在汇总好的数据中选取,生成最终产品;第三,调整优化了数据汇总和制表的顺序,传统处理流程是先制表、再汇总,新架构改为先计算集合再分割制表,实现了对全部数据进行大规模计算,提高了计算效率;第四,输出为最终产品,可直接交付印刷排版,无需导出。新架构模式实现充分发挥计算能力,对普查数据的规模完全胜任,对人力资源的需求大幅减少,人口普查、经济普查、农业普查等三大普查均适用。

Spark、Scala 和Python 在普查数据资料开发新架构的技术实现及成果

在浙江省第三次农业普查数据资料开发的实践中,选用的大数据平台是Spark,Spark 是开源的大规模数据分布式通用计算分析引擎[6],基于弹性分布数据集(RDD,resilient distributed dataset)[7],RDD 是基于内存的分布式抽象数据集[8],RDD 的延迟设计及对分布式内存的使用避免了对磁盘的重复读写,大幅提高了迭代计算的效率。因数据量不大,我们采用单台服务器,配置为8 核英特尔至强E7-4830CPU,64GB 内存,系统为Ubuntu19.0,Spark 布署为本地模式。数据预处理、生成分组和汇总数据等3 个模块在部署在服务器上运行,使用Spark 平台的原生程序语言Scala 完成开发。切片制表模块使用Python 开发,在普通办公计算机Windows系统运行。

浙江第三次农业普查普查数据,原始数据以CSV 文本格式保存为35个文件,共33GB,数据预处理模块将全部数据按主题合并为主表、种植表、畜牧业表、服务业表、村表、乡表等14 张表,以Parquet 列式存储格式保存为7.3GB。共设计乡村、人口特征、实际经营耕地规模、农业经营单位属性等12 个分组,生成分组数据共21GB。共生成82 张大汇总表,以Parquet 列式存储格式保存近2.1GB,输出为xlsx 格式共62M,3 个模块全部运行一遍只要4小时。

汇总表设计时,共分成9 章,每章2到9组不等,每组表数不等,每地区汇总表近600 张,全省、11 个设区市、87 个涉农市(县、区),共99 个地区,生成汇总表近6 万张。切片制表模块布署在普通办公用台式计算机上,全部生成一次只要15分钟。

使用新普查数据资料开发架构,人工参与的工作只有定义分组及设计汇总表标题、编号及包含指标,通过指标号和文字表述,使用XML 格式,定义分组的文档只有64 行,3000余字;定义汇总表标题、编号及包含指标的文档包括空行和注释共500行,4 万余字。定义文件中大部分字符为格式要求的标记,需要人工输入的只占十分之一。分组和汇总表定义工作,不包括查询历史普查数据资料时间,2 天时间就能全部完成。使用新普查数据资料开发架构,浙江第三次农业普查数据资料开发,只有1人参与了设计,设计加执行时间不超过2 天,人力资源的节约相当明显,工作效率明显提高。

进一步研究方向及结语

新架构在浙江第三次农业普查数据资料开发中的应用实践,效果良好,不但工作结果标准进一步提高,而且成倍的节约了人力资源。仍有几个方面可以进一步研究:第一,利用现有BS 架构数据处理平台,进行资料开发设计及结果的展示;第二,代码实现仍有优化的空间,计算时间仍可进一步缩短;第三,Spark 配置为集群模式后,计算能力的提高程度。

普查数据资料开发的新架构如果应用于全国普查数据,只要根据数据规模增加计算节点,就可以完成全国数据的计算。如应用于其他普查,只要根据普查方案和数据格式调整数据预处理模块的设定,针对资料出发需要,参考历史数据资料,重新定义分组及汇总表标题、编号、和指标,便可使用。新架构可以提高普查数据资料开发的整体效率,可以有效解决基层在普查数据资料开发工作上的负担,提升政府统计能力建设水平。

猜你喜欢

数据资料汇总表制表
2022年7月板带材产量汇总表
2022年6月板带材产量汇总表
2022年3月板带材产量汇总表
附件三:拟制定的标准汇总表
生物等效性试验中药代动力学报表自动输出的SAS实现
投融资关注榜(2018.11.16-2018.12.15)
数字化测量技术在矿山测量中的应用研究
数字化测量技术在矿山测量中的应用研究
双创背景下的高职院校创业教育现状调查研究
“羌年”的文化数据与命名原则