基于Hadoop技术的海量物流数据的处理
2018-12-08杨立雄
杨立雄
摘 要:Hadoop是一个能够对大量数据进行分布式处理的软件框架,它以一种可靠、高效、可伸缩的方式进行数据处理,能有效处理海量的物流数据。据此,以锦程物流网、中国物通网等物流企业为例,分析其物流数据处理。
关键词:Hadoop技术;大数据;数据模型;物流信息平台
中图分类号:F25 文献标识码:A doi:10.19311/j.cnki.1672-3198.2018.31.018
1 物流信息平台介绍
1.1 物流信息平台分类
物流信息平台分类办法多种多样。按区域分有地方性的物流信息平台和全国性的物流信息平台。如湖南物流信息平台、山东物流信息平台属地方性的物流信息平台;发啦网、中国物通网则是全国性物流信息平台。按运营方可以分为主体自身运营的物流信息平台和第三方物流信息平台;按组织方式则分为封闭式物流信息平台和公共物物流信息平台。封闭式方式如电子口岸系统、物流监管系统、贸易集散地的交易系统。公共物流信息平台如发啦网、锦程物流王、福州港口物流信息平台和南昌物流信息平台等。
1.2 物流信息平台基本功能
物流信息平台对可对物流信息进行收集、存储、处理、输出等,成为决策的物流管理主要依据之一。以锦程物流网、中国物通网为例等。物流信息平台主要功能有:
(1)B2B企业信息发布。
(2)OA办公自动化系统。
(3)CRM客户管理系统。
(4)PDOS进销存管理系统。
(5)TMS车辆运输管理系统。
(6)WMS仓储管理系统。
(7)GPS卫星定位系统等外设接口。
(8)业务系统接口。
(9)物流联运指挥中心系统。
(10)云计算、资源统一管理和调度,向用户提供按需服务。
(11)用户信用评价。
2 Hadoop技术在海量物流数据处理中的应用
2.1 物流信息平台基本框架
物流数据分析平台可以分为接入层(Landing)、整合层(Integration)、表现层(Persentation)、语义层(Semantic)、终端用户应用(End-user applications)、元数据(Metadata)。
2.2 物流信息平台框架分析
(1)接入层(Landing):保持和物流信息系统相同的结构,暂存原始数据。
(2)整合层(Integration):物流企业数据经整合后进行持久存储,创建物流数据存储库存。
(3)表现层(Presentation):针对物流企业为满足用户需求,提供客观数据,建立智能数据模型即“数据集市”。
(4)语义层(Semantic):物流信息数据的表现方式、访问控制方式。常见的有数据报表等。
(5)终端用户应用(End-user applications):物流用户获得的最终结果。通过语义层工具,将表现层物流数据最终提供给用户使用,常用的有仪表板、报表、图表等形式。
(6)元数据(Metadata):即物流原始数据。如物流仓储、运输和配送等相关信息。
依靠Hadoop技术可建立物流信息数据湖。将物流数据直接存储在HDFS、HBase或Hive内部,也可用关系型数据库建立物流数据湖。
3 物流信息平台数据处理流程
3.1 物流信息平台的数据处理流程
物流数据经由外部数据的采集、分析、存储等处理环节,最终提供给终端用户使用。流程如图3。
3.2 物流信息平台的数据处理方式
物流數据分析基本方式是将数据源同步到物流数据平台的存储体系即物流数据湖。数据首先进入到接入层,将外部数据同步到物流数据分析平台,然后进行同步分析,物流数据同步有定时和流式同步两种方式:
(1)定时同步变是在指定时间触发物流数据的同步动作。
(2)流式同步即物流的外部数据通过Kafka或MQ发送数据修改通知及内容。
接入层物流数据处理过程如下:物流数据经ETL处理步骤后进入到数据仓库,数据分析员基于物流数据仓库的数据进行数据分析和计算,数据仓库是所有处理的基础。在ETL处理过程中需奖物流数据进行数据清洗、转换,然后加载到数据仓库,物流数据可以过滤或处理不合法、不完整的数据,数据状态的表示要有一个统一的维度。物流信息平台的在这一层就会将数据仓库构建成数据立方体、雪花或星型模式是构建维度信息的理想选择,锦程物流、中国物通采用了此方式。不过方式的选择也有灵活性。有的物流信息平台这一层只是统一了所有数据信息,没有做数据立方体,如福州港口物流信息平台和南昌物流信息等。
物流数据集市是对物流数据仓库加工后的结果。物流数据集市通过对业务信息计算提取后得到的进一步信息,与业务人员直接打交道。是物流数据仓库的进一步计算和深入分析的结果,构建物流数据立方体是一种理想的方式。
3.3 基于Hadoop关键技术的物流信息平台的数据处理
目前,锦程物流网、中国物通网基于Hadoop技术构建的物流信息平台的关键技术如下:
(1)物流数据存储。
基于Hadoop技术的物流数据主要用到了HDFS、Hive和HBase技术。HDFS负责Hadoop平台的文件存储,用户直接操纵文件是比较复杂的,使用分布式数据库Hive或HBase构建物流数据湖,将物流数据存储到接入层、数据仓库、数据集市。
Hive和HBase优势各异:HBase是基于NoSQL数据库,数据随机查询和数据扩展性能良好;而Hive是HDFS的数据库,数据文件存放形式是HDFS文件(夹),存储了表的存储位置(即在HDFS中的位置)、存储格式等元数据,Hive查询使用SQL语言,即结构化查询方式,查询中可用Map/Reduce解释或执行,满足物流数据作废对物流数据分析。锦程物流网、中国物通网更多的采用这种方式。
Hive数据格式灵活多样。常用文本格式或二进制格式。csv、json是文本格式的主要方式,二进制格式则有parquet或orc,其格式的共性是都基于行列式的存储,查询时性简单方便和灵活。选择分区(partition)技术可以过滤以减少数据量。接入层可以选择csv或json等文本格式,常不做分区,使数据同步性能更好。选择orc或parquet数据仓库,可以提高数据离线计算性能。
物流数据集市的处理则经常将物流数据灌回到传统数据库(RDBMS),或者停留在物流数据分析平台,锦程物流网、中国物通网使用NoSQL技术,以支撑供数据查询,同时平台使用到Apache Kylin技术以构建物流数据立方体,方便SQL查询。
(2)物流数据同步。
锦程物流网、中国物通网等通过数据同步功能将物流数据到达接入层,常用技术有Sqoop和Kafka。物流数据同步方式可分为全量同步和增量同步,物流企业物流数据规模小的表格可以采用全量同步方式,物流企业物流数据规模大的数据则采用增量同步方式。大表采用全量同步是耗时多,经常采用增量同步,将变动同步到数据平台执行,以达到两边数据一致的目的。
物流大数据全量同步使用Sqoop技术来可则通过Kafka技术等MQ流式同步物流大数据,这样外部物流数据源也会将变动发送到MQ中。
(3) ETL及离线计算。
物流企业使用Yarn来处理物流数据,以方便统一管理或调度计算资源。锦程物流网、中国物通网采用Map/Reduce,Spark SQL及Spark RDD了技术,对开发人员和用户更友好,物流數据的计算效率更高,处理速度更快,与用户粘合性也更好。Spark on Yarn也是物流企业数据分析和处理的一种理想选择。
此外ETL也通过Spark SQL或Hive SQL来做数据处理,Hive在2.0以后能支持存储过程,使用起来更便捷。如果出于综合考虑的话Saprk SQL是更理想的选择。
参考文献
[1]林文辉.基于Hadoop的海量网络数据处理平台的关键技术研究[D].北京:北京邮电大学,2014.
[2]郑文博.基于Hadoop的汽车整车物流管理系统的设计与实现[D].天津:天津大学,2017.
[3]魏斐翡.ECLHadoop:基于Hadoop的有效电子商务物流大数据处理策略[J].计算机工程与科学,2013,35(10):65-71.
[4]王寅田.基于Hadoop的交通物流大数据处理系统设计与实现[D].上海:上海交通大学,2014.