第六节 基于大数据的经济形势分析及预警研究平台建设
大数据处理平台框架主要由四部分组成:数据采集与数据交换、数据存储中心、分布式计算中心、大数据处理管理体系,如图1—6所示。
图1—6 大数据处理平台框架
一 大数据的采集与预处理层
随着大数据时代的到来,数据的采集方式也需要与时俱进,采用新型的数据采集途径,对传统经济数据采集途径形成补充。数据采集与融合逻辑示意图见图1—7。
图1—7 数据采集与融合逻辑
有以下几种方式:
公开数据爬取方式:先采用大数据分布式网络爬虫技术采集,从联合国、世界银行、世界贸易组织、期货交易所、统计局官网等互联网网站上采集海量企业信息和交易信息,再应用自然语言处理技术,实现互联网大数据的非结构化数据到结构化的转换。
私有数据购买方式:在充分保护公众隐私和遵守国家法律的前提下,通过从第三方采购的形式,从拥有大量数据的大数据企业或互联网公司购买部分数据。
合作方式:针对国家其他部门拥有的政府数据,如质监局的组织机构数据、工商局的企业注册信息、税务局的企业纳税信息及公安部掌握的人口信息等,建立部门间数据交换共享的方式,实现数据的充分利用和分析。
数据融合:从以上各种渠道采集来的数据,需要经过初步的数据转换和清洗,但往往许多数据仍然不符合分析标准,还需要建立数据融合平台,使各种数据统一到同一的数据标准中。
大数据分析业务成败的关键是保证各种来源数据最后的质量,大数据平台针对数据全生命周期中每个阶段里可能引发的各类数据质量问题,比如数据获取、数据清洗、数据转换、数据关联、数据存储、数据使用等过程中,从数据整合、数据预处理、数据入库、数据监控、资源利用等数据处理流程环节入手,建立完善的数据全生命周期管理与数据质量管控机制和质量管理的活动。大数据的质量管理是通过循环管理过程来确保通过可靠的数据质量,提升数据在大数据分析决策中的使用价值。
从图1—8看出,数据质量管理贯穿整个业务流程,从业务库到ETL再到数据仓库都可以通过用户自定义的数据质量规则进行管控中。校验规则包括数据的准确性、数据的完整性和数据的一致性,分别面向三种不同的校验方案。可能通过业务库和数据仓库中的已有数据对数据可以直接进行在线质量规则校验。可以通过质量规则定义在ETL过程中提供的数据清洗服务对数据进行清洗。
图1—8 数据质量规则定义
同时我们可以对两个或者多个数据源进行比对。用户可以通过选择数据源进行比对,对比对规则进行自定义,直接进行在线的数据比对。比对的结果可以用来反映出不同库的表与表之间的数据差异,进一步解决数据质量问题。
二 大数据存储层
(一)分布式文件系统
分布式文件系统是新发展出来的文本存储方式,基于高效的分布式通讯、数据结构和存储算法,可以将数据的访问和存储按要求分布在大量服务器之中,在可靠多备份存储的同时还能将访问分布在集群中的各个服务器之上。分布式文件系统将一个文件分为多个数据块,分别将每个数据块复制存储在多个节点上,并且提供可自我校验、自我修复的能力,保证数据的高可靠性。分布式文件系统可消除访问瓶颈,支持高吞吐量访问,并且支持使用低成本存储和服务器来构建存储系统。分布式文件系统可用来实现海量数据的存储,支持PB级到EB级的容量,能够同时高效地管理上亿个文件,还有优秀的在线扩容能力,即当我们遇到存储容量不足时,用户不需要中断业务运行,可以随意扩展存储空间容量。
本课题涉及文本、图像、音频、视频等大量非结构化文件,并随着应用的发展不断增长,需要通过分布式文件系统来存储。
本课题主要采用Hadoop分布式文件系统(HDFS)存储旅游相关的图像、音频、视频等非结构化文件。
Hadoop Distributed File System,简称HDFS,是一个主流的开源分布式文件系统。HDFS即具有分布式文件系统的高容错性优点,并且部署在低成本的硬件服务器上。HDFS可以支持高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS可以轻松管理PB级的数据,可以存储、管理上亿个文件,存储容量可以水平线性扩展。HDFS是用采用java编写的,任何支持java的机器都可以运行名称节点或数据节点,利用java语言的超轻便型,很容易将HDFS部署到大量的机器上。HDFS架构原理如图1—9。
图1—9 HDFS系统架构
HDFS由名称节点和数据节点组成,是主从结构。名称节点负责管理文件命名空间和调节客户端访问文件,数据节点负责存储实际数据。HDFS的内部机制就是将一个文件用算法分割成一个或多个块,这些块可以同时被存储在一组数据节点中。数据节点是可以水平扩展的,这样能满足文件数量和大小的不断增长需求。用来操作文件命名空间的文件或目录操作的是名称节点,如对文件打开,关闭,重命名等等,它同时确定块与数据节点的映射。负责来自文件系统客户的读写请求的是数据节点。数据节点同时还要执行块的创建、删除,和来自名字节点的块复制指令。用户的实际数据不经过名称节点。
为了实现大数据相关图像、音频、视频等非结构化文件的海量高效可靠存储,本课题将构建HDFS的分布式集群,集群架构如下:
图1—10 HDFS集群架构
集群中部署了主备两个Namenode,同时有多个Datanode,将元数据信息和操作日志存储Namenode中,将实际数据存储在Datanode中。Datanode按照一式多份存储数据以保证数据的高可用性和高性能,并随着数据量的增长水平扩展。Namenode通过主备节点实现高可用,主备节点间通过共享操作日志实现数据的同步。本课题采用基于QJM/Qurom日志管理器的HDFS HA方案,主Namenode写操作日志数据存储到QJM集群中,备Namenode从QJM中读取数据实现同步。Qurom日志管理器的基本原理是用2 N+1台日志节点存储EditLog(编辑日志),每次写数据操作时,当有大多数的节点返回成功时即认为该次写操作是成功的,保证数据高可用。
(二)分布式数据库
数据库是平台的价值核心,各类有价值数据都将存储在数据库中,高效、安全、可靠的数据库是平台稳定运行的基础,当今主流的大型互联网大数据架构模式中,一般会混合使用关系数据库和NoSQL数据,关系数据库用于处理事务型的核心业务,NoSQL数据库用于处理海量低价值密度业务。
分布式数据库支撑服务将从关系数据库集群和分布式NoSQL数据库两方面建设。
基于MySQL的关系数据库集群:MySQL在当今互联网领域应用十分广泛,被证明简单易用、安全可靠,非常适合构建大型互联网应用。办事平台在对关系型数据库的存储上为了保证高可用性,提升读写速度,通过开发数据库访问的中间代理层软件,支持读写分离、垂直分库、水平分库等功能。通过与关系型数据库相结合,来搭建一写多读、多写多读、读写分离的分布式数据库集群。
在应用程序和数据库之间,数据访问代理层扮演一个中转的角色,将应用程序发送过来的SQL语句经过解析后,分别将读写的语句交给Master库或Slave库处理,中间代理层可支持负载均衡和故障切换,我们可以配置了多个用于读取的库,那样任何一个读取的库即使出现宕机,整个系统也不会发生故障,中间代理层可以自动将请求路由转移到其他可用库上。
本方案将构建主从复制、读写分离的架构,以保证数据访问的高可用性和高性能。
图1—11 基于MySQL的关系数据库集群
同时,数据访问代理层可以通过对数据库的水平分割等技术来提高数据库的容量和稳定性。配合数据库访问代理层,关系型数据库底层通过标准的主从复制技术,或者基于加速组件的主从复制技术来保证多个数据库之间的数据一致性,在实现灾备功能同时,也可以分担读数据时的压力。
基于HBase的NoSQL数据库集群:HBase分布式列式数据库是NoSQL数据库的一种,其底层基于Hadoop HDFS分布式文件系统,具备很高的稳定性,其本身就是一个分布式数据库集群,其海量结构化存储为应用提供安全、高效、高度可扩展的分布式结构化和半结构化的数据存储服务。结构化数据存储服务采用与传统数据库相同的设计模型,支持数字、字符串、二进制和布尔值等多种数据类型。而半结构化数据存储则更为灵活,允许开发者自定义数据模型,提供多种数据访问方式,透明的数据存储管理,以支持高性能应用程序的开发。
HBase的物理存储模型如下:
图1—12 基于HBase的NoSQL数据库集群
Hbase采用区域(region)的处理方式,自动把表按行(ROW)划分成多个区域,将一个表中某段连续的数据保存到每个区域中。一开始时每个表只有一个区域,随着表中不断插入数据,区域不断增大,当区域的数量达到阀值时,区域就会增加变成两个新的区域。表中的行数量不断增多,就会不断产生越来越多的区域。一张完整的表不断增长,被保存在多个区域上。HRegion是Hbase架构中用于分布式存储和负载均衡的最小单元,表中一个区域对应每个HRegion,不同的HRegion可以分布存储在不同的HRegion Server上,但任何一个HRegion不会被拆分存储到多个server上。
本方案将构建HBase的分布式集群以存储海量结构和半结构数据,集群架构如图1—13。
集群中包括多个HMaster和多个HRegionserver,以及负责分布式协调工作的Zookeeper集群。
Zookeeper除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单点。
图1—13 HBase集群架构
[1] 本专题作者:黄新霆。作者单位:北京大数据研究院。
[2] 参见国务院〔2015〕50号文件《促进大数据发展行动纲要》。
[3] 鲍雨:《社会学视角下的大数据方法论及其困境》,《新视野》2016年第3期。
[4] 张晓强、杨君游、曾国屏:《大数据方法:科学方法的变革和哲学思考》,《哲学动态》2014年第8期。
[5] [英]维克托·迈尔·舍恩伯格:《大数据时代》,周涛等译,浙江人民出版社2015年版。
[6] 米加宁等:《第四研究范式:大数据驱动的社会科学研究转型》,《社会科学文摘》2018年第4期。
[7] 参见《沙漠,大数据在城市规划中的应用》,《居舍》2018年第13期。