供应链管理 doi:1 0.3969/j.issn.1 005—1 52X.201 7.03.038 物流技术2017年第36卷第3期(总第366期) 基于Hive架构的物流供应链运力 异构数据整合研究 廖雪花,任春华,唐思娩 (四川师范大学【摘计算机科学学院,四川成都610101) 要】设计了一种基于Hive架构的异构数据整合框架,该框架以多个应用系统数据库为主要研究对象,选 取某物流企业供应链过程中的车辆调度系统和运力调度系统的车源数据作为实验对象,通过分析、整合异构数 据,搭建异构数据整合框架,进行异构数据整合研究。结果表明:该架构实现了异构数据资源共享,同时有助于实 现物流行业的信息资源整合,而且可以为企业提供更加稳定可靠的决策支持。 【关键词]Hive;物流供应链;异构数据;ETL 冲图分类号]F274 [文献标识码】A [文章编号]1005—152X(2017)03—0168—04 Study on Integration of Heterogeneous Data of Supply Chain Transportation Capacity Based on Hive Architecture Liao Xuehua,Ren Chunhua,Tang Simian (School ofComputerScience,SichuanNormalUniversity,Chengdu 610101,China) Abstract:In this paper,we designed a Hive—based heterogeneous data integration framework and then with the database of multiple application systems as the research qbject and the vehicle dispatching system and transportation capacity dispatching system of a certain logistics enterprise as the experiment object,we built its heterogeneous data integration ̄amework and through the empiircal study,veriifed the merits ofthe framework. Keywords:Hive;logistics and supply chain;heterogeneous data;ETL 的SQL Server数据库数据和半结构化的XML数据 。 1 引言 随着计算机网络的普及,数据资源的共享已经成为 一在物流行业中,异构数据整合对提高物流供应链过 程中的数据处理和数据共享能力,以及提供数据有效 性、可用性和更加可靠稳定的决策分析等能力有重要意 个热门话题”]。很多企业需要将DBMS、MIS、OA数据 集成起来,构成企业的管理决策的网络信息平台 。异 构数据是一个含义丰富的概念,不仅指不同的数据库系 统之间的数据是异构的,如Oracle和SQL Server数据 库,而且还包括不同结构的数据之间的异构,如结构化 义。在物流运力供应链中,无论是顶端的物流运输企业 还是底端的个体司机都难以实现双方的数据共享。他 们之间没有真正意义的统一信息交换平台,从而导致双 方各自为主,缺乏准确的信息交流。即使双方进行数据 交换,也可能面临很多问题,这些问题主要集中于他们 .、 【收稿日期]2016—12—28 【基金项目】四川省科技厅科技支撑项目(2012GZX0090,2014GZX0002) 【作者简介】廖雪花(1976一),通讯作者,女,硕士,副教授,研究方向:计算机网络与信息系统、物流技术研究 大数据研究;任春 华(1989一),男,研究生,研究方向:计算机应用技术、大数据;唐思娩(1992一),女,研究生,研究方向:计算机应用技 术、大数据。 一】68— 廖雪花,等:基于Hive架构的物流供应链运力异构数据整合研究 可能使用不同的信息交换平台,平台之间缺乏统一的数 时,基本都采用手工登记的方式。本文建立的基于Hive 架构的物流运力供应链数据仓库将建立在多个应用系 供应链管理 ②检测数据正确性:处理一些非法输入的数据,如 ③统一数据格式:对多个应用系统中表示同一含义 据格式。因此,在运力供应链中成员在进行数据交换 把一些用户随意输入的数据删除掉。 字段的数据类型和数据精度等进行统一。 ④数据转意:由于数据表中往往存在固定的编码, 这些编码代表的含义需要在编码表中查看。在数据清 洗时,可以通过关联编码表,将这些编码转换成实际含 统之上,通过数据过滤、清洗、整合,建立统一的数据格 式,实现多个系统之间的运力数据整合与共享 。 2 多源异构数据处理技术 在物流运力供应链数据整合过程中,首先需要整合 链中各成员的数据,主要包括货主企业、物流企业、个体 司机等。但是由于这些成员信息分散在不同的应用系 统中,往往造成数据存储格式千差万别,所以需要将这 些异构的多源运力数据实现有效整合。其次,将这些数 据建立统一的数据格式。、接着使用ETL(Extract—Trans— form—Load,抽取、转换、加载)等传输工具将数据导人 Hive数据仓库,实现运力数据共享 。 数据ETL主要包括三个过程i61: (1)数据抽取。数据抽取是将源数据层的数据抽取 到ODS或者数据仓库中。源数据可以是传统关系型数 据库中的历史数据,也可以是文本文件,比如业务系统 产生的13志文件以及其它文件数据;还可以是其它外部 数据,如人工登记的数据。数据抽取策略一般根据具体 业务需求而定,比如可以每一天抽取一次或多次,也可 以每一小时或者每一分钟进行抽取。数据抽取主要分 为全局性抽取和局部抽取,局部抽取一般用于大规模的 数据分析,可以明显节约抽取时间,方便快速获得分析 结果。而全局性抽取主要用于小规模的数据分析,由于 数据量不大,采用全局性抽取方式不但能节约数据的抽 取时间,而且还能进行完整的数据分析。 (2)数据清洗。数据清洗主要是将没有实际意义的 数据进行清洗。数据清洗一般和数据抽取同步进行,可 以为接下来数据存储和分析节约时间。当数据源为关 系型数据库时,使用抽取的SQL语句中就可以进行数据 清洗工作,比如把NULL值或空值的数据过滤掉;当数 据源为文本文件时,可以进行人工清洗,比如删除掉一 些不符合规范的数据。 数据清洗一般包含以下几个方面: ①空值NULL值处理:在实际应用程序中,会产生很 多空值或NULL值的情况,所以应根据具体业务需要,把 空值或NULL值的数据过滤掉或者替换为其它字符。 义的数据等。 ⑤根据具体业务规则进行数据清洗工作。 (3)数据转换和加载。数据转换和加载,又称为数 据更新,一般用来更新数据仓库中的历史数据。由于数 据仓库中的表都是按照具体业务逻辑设计好的,并且更 新数据的操作也是固定的。所以每当更新数据仓库中 的数据时,往往只需要传人一些参数,通过程序代码或 者存储过程就能实现数据更新。每当插人数据到一张 表,都可以称为数据加载,至于删除、插人、合并,这些操 作是由具体业务规则决定,并且都是嵌入到数据抽取、 转换的过程中。 3运力多源异构数据在阿里云数据仓库的 搭建 3.1异构数据来源 物流异构数据源主要来自企业提供的运力数据,包 括三个部分: (1)WEB系统。WEB系统主要是由企业开发并使 用的物道网和物合网。物道网是一个物流设备选型和 会展平台系统,主要提供物流设备选型、线上会展、专家 咨询等服务,它旨在打造物流设备行业的最佳大数据平 台。物合网是中国西部现代物流公共信息平台,是为了 打造全国最大最专业的物流资源整合网站,它主要提供 货源和车源信息等多个服务项目。它们分别提供了仓 储平台、车源、货源、企业、用户、物流专线等多项数据,由 于部分数据涉及个人、企业的隐私信息,企业过滤了这些 隐私信息。这些数据来源于应用程序的后台数据库。 (2)手机APP。手机APP主要是企业正在使用和完 善的某运力调度系统,该调度系统主要旨在汇聚运输公 司、个体司机和运力需求方,通过车辆监管和集中调度, 逐步建成一套自动化的、集交易、运力匹配、监管为一身 的运力综合服务平台。该平台主要由交易子系统、运力 匹配子系统、监管子系统、客户关系管理子系统、合作伙 ..169—. 供应链管理 伴子系统1 部分组成。该数据源主要来自运力匹配子 系统III.包括司机表、客户表、运力单明细表、车辆表等 多个数据表。这些数据来源于应朋程序的后台数据库。 F段粥 物流技术2017年第36卷第3期(总第366期) 息表”。・,表结构如表1所示。 表1车源信息表 字段描述 数据类型 长度 可空 缺省值 备注 (3)其它数据文件。其它文件数据主要包括一些手 I 登记的数据,比如个体司机登记的车辆运力需求信 息 、这 文件数据主要记录存Excel、XMI 等T具l二。 CAR ID CAR NO CAR TYPE 编呼 牌号 INT 【l 编号 车牌 , 乍辆类,科 乍辆K度 乍辆载最 常用出发地 常用目的地 联系人或者司机 VARCIIAR lO 是 DOUBI E 10,2 足 DOUBLE 10,2 足 VARC}IAR 1O0 足 VARC}IAR 1O0 足 VARCHAR 50 足 车辆类型 VARCHAR 50 是 CAR IJENGTI l4 辆长度 CAR W肌G¨T 车辆载 CAR START CAR END CAR PERSON }fj发地 E J的地 城系人 3.2数据仓库搭建 为实现物流供应链过程中多系统车源数据整合,首先 搭建Hive数据仓库,该数据仓库采用完全分布式管理,包 括 台阿里云服务器。一台主节点,两俞从节点。具体详细 CAR TE1 DATE 联系电话 VARC} R ll 发稚时问 DATE 0 足 是 联系电-hE 该数据来白哪个系绩 发布时问 SYSTEM 数据系统来源 VARC}IAR 20 足 搭建步骤可参考文栅7】、【8】,阿里云配置如下冈1所示。 一 … ; 通过编写Java程序将手机APP车源数据过滤到 Hive数据仓库中,然后再加载到WEB系统后台数据库 ■ -…….一 ●● : 墨_ ‘ ’ i 0 中。同理,WEB系统数据也可以按相同方法加载到手 机APP后台数据库中。这样既实现了数据共享,同时 ●j + ’ 也在Hive数据库中整合了多个应用平台车源数据,而 0:一一 ” : .・ - 一一 “ ・~. 一 一一 . 一●一 . 嚣 . I… i. :置 翼. ....:一 ㈣且可以充分利用整合的异构数据进行分析和决策。具 体框架结构罔如图2所示。 =目 : j: ;盂…。。 一 ● 图1阿里云配置 3.3异构数据分析与整理 对手机APP和WEB系统的车源数据进行分析、整 理,手机APP的车源数据主要有4个表(包括车辆表,车辆 图2框架结构图 4搭建异构数据整合系统 该系统主要采用Java开发语言、Hive数据仓库和 MySql数据库。 常用路线表,司机信息表,车辆司机对应信息表),而WEB 系统只有1个表(车辆详情表),其数据库部署在不同的网 络节点L。且有些数据字段类型、数据精度也不一致。 具体整理过程如下 。: (1)整理车牌号字段。一般是省的简称+城市代 号+5位车牌号,共7位。但是WEB系统中的字段长度 是20,手机APP中的字段长度是l2。数据字段太长,可 首先,通过手机APP后台车源数据整合,通过后台 管理人员按条件选择性的将源数据加载到WEB系统 中,建立了一个简单的后台数据导人功能界面,如图3 所示。 请诘撵日期; 5l盯 ll 掸弹岳缱.t・ll远}i车辆 废- ± 请选择目标岳挠:I- |选择车辅轧t, ± . t 能造成空间浪费,综合考虑后车牌号字段是VARCHAR 类型,设置长度为l0。 请试择车辆差型, 2 (2)整理车辆载重字段。WEB系统中的字段类型 是INT型.手机APP中是DOUBI E型。考虑到有些车辆 登记信息上标明2位小数,比如6.50t,所以车辆载重字 段没置类型为DOtIBLE,长度l0位,保留2位小数。 (3)其他数据字段整理过程类似,但同时考虑适当 优化存储结构。 (4)通过分析、整理、综合后,选取双方都含有实际 参考价值的数据字段,在Hive数据仓库中建立车源信 —.图3导入功能界面 从功能界面可以看}{J,可以选择某个源系统(这里 选取的是手机APP)某一天发布的车源信息,还可以根 170.. 廖 仡,等: 于Hive架构的物流供应链运力异构数据整合研究 据具体需求,比如车辆类 、车长等选择性导入,加载到 几标系统巾去,从而实现多个系统之间数据资源共享, i■…’*~…,…z O…●………ld… ’Ic……… 供应链管理 ~■ ’ tO………l2…{1 -- ……^1l r1 …tO”●●1Ilt…~ .' ●- C 々……l_■I'…●I.d… {J I……■● l__ J…●●n…) 1【t w……‘’.1…l” 【cm : IO州…t・r… …, t・ ^・抽’I1“ ………u i‘, 一c-,hr 。  ̄1it,s…t…I 为企业接下来分析、决策提供更科学的依据。 I J’Kl 伽∞ I I・16I 16】 I 8…■rlt■ ● }B 0 ■t I■ ∞∞1●I I rl^1O I'I■l ∞:¨ll瑚…‘5 6 J,‘ 】‘ J‘ l● c● 1日 l, a-i¨t r㈣it 咿■Ⅱt ■g 呵-&J 0Ⅲtt一■ t日 f榔 憎 ■ l-Il】'n"I t ∞:∞I●…'lt111 1 I I5实验结果 5.1 手机APP数据导入WEB系统 通过导入功能,实现手机APP后台车源数据在 ∞:oD:H。—m'11t‘{ _l¨ l iI…∞∞害黯嚣‘I ~∞:∞l5 #}】HI.’1¨ l‘I I'● s 6 l j● f ’‘‘ ‘根 ’ B Hit, IJ口_I_ … ■ⅡII8 l Bt ●, 哪I 1iI■ 矗._ ‘ ¨I. u¨。 嚣 盛豪ll_1‘¨ I ∞:∞16…∞.∞:……∞¨’{ ■ ’{柑I-I1t1●- tIo IlO -● l● lI 】● I J l‘ 0 f-i 。 …’ 。四。 -'■ i’眦,atE I Ⅲ{…- ■ ’ I,‘I…1 I’ ,¨1 I m…#l口 II‘tt 咖 6:I}●… 81tl■… 1mt 牲 哪●●■ -帽哪j …l‘…… ¥ IIl I.I II - ■s 1 0 nlt一 t哪I脚州E 1…’ J● 1f f‘】 … … 10t ・IlIl‘ 躲 j 盛 【1.1 】¨ I’, I 口。∞:…‘ l● }● I● l_ 。’’ 市- ‘ ’‘ 一 ■E■ B}目 f-们 8ltI'咖 【口’l t● ’ -■■B #E ●Ⅱ }t I1 I1●l 一●J l● I● l8 l■-椰 10‘tl{ I● I4lI●I ’tIlt‘1 S-It I●・ WEB系统中共享。比如某位司机在手机APP中发布的 J’ 岬I"’ ∞:∞…∞:∞…J“ -*l* 10 q}, m■-帕1日¨■+ 一I I-I瑚。-I‘ E IlE ・l 车辆信息,通过异构数据整合框架能够显示在WEB界 面巾,如图4所示。 图6整合车源数据部分图 6结束语 溽诨一售囊 出 =口i l‘一 ■m ■ E ■g 本文分析了某物流企业的两个应用系统数据,提m 诰■:口iI‘ t妊*名= 軎■: ●H目…1・、 I ,l 5 了一种基于Hive架构的异构数据整合方案。通过搭建 异构数据整合框架,实现了该企业两个应用系统的车源 数据共享,同时在Hive数据仓库中积累了整合后的乍 m ^摊■:0l 5,l 0, 0 }■nt: iH^膏: 蕾∞■:* 啊; * 源数据,为企业下一步分析预测lT作提供更加科学的依 据。最后通过在一个应用系统发布的车辆信息可以在 图4手机APP数据导入WEB系统数据共享图 另外一个系统中查看,验证了该框架的可行性。fⅡ是, 通常物流企业的应用系统比较多,数据涉及范围广.这 些问题有待进一步研究。 【参考文献】 5.2 WEB系统数据导入手机APP 通过导入功能,实现WEB系统后台车源数据在手 机APP中共 享。t-k. ̄tl某位司机在WEB系统中发布的车 辆信息,通过异构数据整合框架能够显示在手机APP f1】王宁,陈滢,俞本权,等.一个基于CORBA的异构数据源集成 系统的设计fJ1.软件学报,1998,(5):378—382. 巾,如图5所示。 【2】姜宁,王忠,迟忠先.空间对象模型用于WEB下数据源集成 的研究【J1_计算机 程与应用,200 1,37(5):93—95. B 四川i省・戚赫一市辖区 瞎离 四川省・威都市一市辖尽 端近日期 2O1S・l0・l5 【3】靳强勇,李冠,张俊.异构数据集成技术的发展和现状『J1_计算 机工程与应用,2002,(I1):l 12—1 14. [4]Ya BI.Researches on Logistics Cost Control of Enterprise iin- der the Background of Open Economic Development[J].Inter— national Journal of Intelligent Information and Management 驯 日■ 2OlS.1O-1S Science,20 1 5,4(3). n■c呻I 3 【5]Xie J.The Strategy and Research for the Development of Coal Logistics Industry[A].icssr-14[C1.2014. } rt n■【雌1 8 1坼 【6]Gunarathne T,wu T L,Qiu J,et a1.Cloud computing paradigms for pleasingly parallel biomedical applications[A].ACM Inter—— national Symposium on Hi【gh Performance Distributed Com— 弱鞠辫 圉—蠢 图5 WEB系统导入手机APP数据共享图 puting[C].2010. 5.3整合后的异构数据 通过整合两个应用系统的数据不仅可以实现数据 如整合2015年l1月16日的车源数据,如图6所示。 【71曹坤.Hive编程指南[M1.北京:人民邮电}}{版社,2013. [8]Garry Turkington.Hadoop基础教程[MI.北京:人民邮电f}J版 社。2014. 9】何慧'孑,J、芙,李遂.异构数据库数据类型转换模型fJ1_汁算机 共享,而且还可以为企业提供稳定可靠的决策分析。比 [程与设计,2005,26(9):2 461-2 463. ¨01袁艳.供应链管理系统与物流技术领域的数据整合研究fJ1 .物流技术,2013,(7):l 19—120. —.171—.