楊立雄
摘 要:Hadoop是一個能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理的軟件框架,它以一種可靠、高效、可伸縮的方式進行數(shù)據(jù)處理,能有效處理海量的物流數(shù)據(jù)。據(jù)此,以錦程物流網(wǎng)、中國物通網(wǎng)等物流企業(yè)為例,分析其物流數(shù)據(jù)處理。
關(guān)鍵詞:Hadoop技術(shù);大數(shù)據(jù);數(shù)據(jù)模型;物流信息平臺
中圖分類號:F25 文獻標(biāo)識碼:A doi:10.19311/j.cnki.1672-3198.2018.31.018
1 物流信息平臺介紹
1.1 物流信息平臺分類
物流信息平臺分類辦法多種多樣。按區(qū)域分有地方性的物流信息平臺和全國性的物流信息平臺。如湖南物流信息平臺、山東物流信息平臺屬地方性的物流信息平臺;發(fā)啦網(wǎng)、中國物通網(wǎng)則是全國性物流信息平臺。按運營方可以分為主體自身運營的物流信息平臺和第三方物流信息平臺;按組織方式則分為封閉式物流信息平臺和公共物物流信息平臺。封閉式方式如電子口岸系統(tǒng)、物流監(jiān)管系統(tǒng)、貿(mào)易集散地的交易系統(tǒng)。公共物流信息平臺如發(fā)啦網(wǎng)、錦程物流王、福州港口物流信息平臺和南昌物流信息平臺等。
1.2 物流信息平臺基本功能
物流信息平臺對可對物流信息進行收集、存儲、處理、輸出等,成為決策的物流管理主要依據(jù)之一。以錦程物流網(wǎng)、中國物通網(wǎng)為例等。物流信息平臺主要功能有:
(1)B2B企業(yè)信息發(fā)布。
(2)OA辦公自動化系統(tǒng)。
(3)CRM客戶管理系統(tǒng)。
(4)PDOS進銷存管理系統(tǒng)。
(5)TMS車輛運輸管理系統(tǒng)。
(6)WMS倉儲管理系統(tǒng)。
(7)GPS衛(wèi)星定位系統(tǒng)等外設(shè)接口。
(8)業(yè)務(wù)系統(tǒng)接口。
(9)物流聯(lián)運指揮中心系統(tǒng)。
(10)云計算、資源統(tǒng)一管理和調(diào)度,向用戶提供按需服務(wù)。
(11)用戶信用評價。
2 Hadoop技術(shù)在海量物流數(shù)據(jù)處理中的應(yīng)用
2.1 物流信息平臺基本框架
物流數(shù)據(jù)分析平臺可以分為接入層(Landing)、整合層(Integration)、表現(xiàn)層(Persentation)、語義層(Semantic)、終端用戶應(yīng)用(End-user applications)、元數(shù)據(jù)(Metadata)。
2.2 物流信息平臺框架分析
(1)接入層(Landing):保持和物流信息系統(tǒng)相同的結(jié)構(gòu),暫存原始數(shù)據(jù)。
(2)整合層(Integration):物流企業(yè)數(shù)據(jù)經(jīng)整合后進行持久存儲,創(chuàng)建物流數(shù)據(jù)存儲庫存。
(3)表現(xiàn)層(Presentation):針對物流企業(yè)為滿足用戶需求,提供客觀數(shù)據(jù),建立智能數(shù)據(jù)模型即“數(shù)據(jù)集市”。
(4)語義層(Semantic):物流信息數(shù)據(jù)的表現(xiàn)方式、訪問控制方式。常見的有數(shù)據(jù)報表等。
(5)終端用戶應(yīng)用(End-user applications):物流用戶獲得的最終結(jié)果。通過語義層工具,將表現(xiàn)層物流數(shù)據(jù)最終提供給用戶使用,常用的有儀表板、報表、圖表等形式。
(6)元數(shù)據(jù)(Metadata):即物流原始數(shù)據(jù)。如物流倉儲、運輸和配送等相關(guān)信息。
依靠Hadoop技術(shù)可建立物流信息數(shù)據(jù)湖。將物流數(shù)據(jù)直接存儲在HDFS、HBase或Hive內(nèi)部,也可用關(guān)系型數(shù)據(jù)庫建立物流數(shù)據(jù)湖。
3 物流信息平臺數(shù)據(jù)處理流程
3.1 物流信息平臺的數(shù)據(jù)處理流程
物流數(shù)據(jù)經(jīng)由外部數(shù)據(jù)的采集、分析、存儲等處理環(huán)節(jié),最終提供給終端用戶使用。流程如圖3。
3.2 物流信息平臺的數(shù)據(jù)處理方式
物流數(shù)據(jù)分析基本方式是將數(shù)據(jù)源同步到物流數(shù)據(jù)平臺的存儲體系即物流數(shù)據(jù)湖。數(shù)據(jù)首先進入到接入層,將外部數(shù)據(jù)同步到物流數(shù)據(jù)分析平臺,然后進行同步分析,物流數(shù)據(jù)同步有定時和流式同步兩種方式:
(1)定時同步變是在指定時間觸發(fā)物流數(shù)據(jù)的同步動作。
(2)流式同步即物流的外部數(shù)據(jù)通過Kafka或MQ發(fā)送數(shù)據(jù)修改通知及內(nèi)容。
接入層物流數(shù)據(jù)處理過程如下:物流數(shù)據(jù)經(jīng)ETL處理步驟后進入到數(shù)據(jù)倉庫,數(shù)據(jù)分析員基于物流數(shù)據(jù)倉庫的數(shù)據(jù)進行數(shù)據(jù)分析和計算,數(shù)據(jù)倉庫是所有處理的基礎(chǔ)。在ETL處理過程中需獎物流數(shù)據(jù)進行數(shù)據(jù)清洗、轉(zhuǎn)換,然后加載到數(shù)據(jù)倉庫,物流數(shù)據(jù)可以過濾或處理不合法、不完整的數(shù)據(jù),數(shù)據(jù)狀態(tài)的表示要有一個統(tǒng)一的維度。物流信息平臺的在這一層就會將數(shù)據(jù)倉庫構(gòu)建成數(shù)據(jù)立方體、雪花或星型模式是構(gòu)建維度信息的理想選擇,錦程物流、中國物通采用了此方式。不過方式的選擇也有靈活性。有的物流信息平臺這一層只是統(tǒng)一了所有數(shù)據(jù)信息,沒有做數(shù)據(jù)立方體,如福州港口物流信息平臺和南昌物流信息等。
物流數(shù)據(jù)集市是對物流數(shù)據(jù)倉庫加工后的結(jié)果。物流數(shù)據(jù)集市通過對業(yè)務(wù)信息計算提取后得到的進一步信息,與業(yè)務(wù)人員直接打交道。是物流數(shù)據(jù)倉庫的進一步計算和深入分析的結(jié)果,構(gòu)建物流數(shù)據(jù)立方體是一種理想的方式。
3.3 基于Hadoop關(guān)鍵技術(shù)的物流信息平臺的數(shù)據(jù)處理
目前,錦程物流網(wǎng)、中國物通網(wǎng)基于Hadoop技術(shù)構(gòu)建的物流信息平臺的關(guān)鍵技術(shù)如下:
(1)物流數(shù)據(jù)存儲。
基于Hadoop技術(shù)的物流數(shù)據(jù)主要用到了HDFS、Hive和HBase技術(shù)。HDFS負責(zé)Hadoop平臺的文件存儲,用戶直接操縱文件是比較復(fù)雜的,使用分布式數(shù)據(jù)庫Hive或HBase構(gòu)建物流數(shù)據(jù)湖,將物流數(shù)據(jù)存儲到接入層、數(shù)據(jù)倉庫、數(shù)據(jù)集市。
Hive和HBase優(yōu)勢各異:HBase是基于NoSQL數(shù)據(jù)庫,數(shù)據(jù)隨機查詢和數(shù)據(jù)擴展性能良好;而Hive是HDFS的數(shù)據(jù)庫,數(shù)據(jù)文件存放形式是HDFS文件(夾),存儲了表的存儲位置(即在HDFS中的位置)、存儲格式等元數(shù)據(jù),Hive查詢使用SQL語言,即結(jié)構(gòu)化查詢方式,查詢中可用Map/Reduce解釋或執(zhí)行,滿足物流數(shù)據(jù)作廢對物流數(shù)據(jù)分析。錦程物流網(wǎng)、中國物通網(wǎng)更多的采用這種方式。
Hive數(shù)據(jù)格式靈活多樣。常用文本格式或二進制格式。csv、json是文本格式的主要方式,二進制格式則有parquet或orc,其格式的共性是都基于行列式的存儲,查詢時性簡單方便和靈活。選擇分區(qū)(partition)技術(shù)可以過濾以減少數(shù)據(jù)量。接入層可以選擇csv或json等文本格式,常不做分區(qū),使數(shù)據(jù)同步性能更好。選擇orc或parquet數(shù)據(jù)倉庫,可以提高數(shù)據(jù)離線計算性能。
物流數(shù)據(jù)集市的處理則經(jīng)常將物流數(shù)據(jù)灌回到傳統(tǒng)數(shù)據(jù)庫(RDBMS),或者停留在物流數(shù)據(jù)分析平臺,錦程物流網(wǎng)、中國物通網(wǎng)使用NoSQL技術(shù),以支撐供數(shù)據(jù)查詢,同時平臺使用到Apache Kylin技術(shù)以構(gòu)建物流數(shù)據(jù)立方體,方便SQL查詢。
(2)物流數(shù)據(jù)同步。
錦程物流網(wǎng)、中國物通網(wǎng)等通過數(shù)據(jù)同步功能將物流數(shù)據(jù)到達接入層,常用技術(shù)有Sqoop和Kafka。物流數(shù)據(jù)同步方式可分為全量同步和增量同步,物流企業(yè)物流數(shù)據(jù)規(guī)模小的表格可以采用全量同步方式,物流企業(yè)物流數(shù)據(jù)規(guī)模大的數(shù)據(jù)則采用增量同步方式。大表采用全量同步是耗時多,經(jīng)常采用增量同步,將變動同步到數(shù)據(jù)平臺執(zhí)行,以達到兩邊數(shù)據(jù)一致的目的。
物流大數(shù)據(jù)全量同步使用Sqoop技術(shù)來可則通過Kafka技術(shù)等MQ流式同步物流大數(shù)據(jù),這樣外部物流數(shù)據(jù)源也會將變動發(fā)送到MQ中。
(3) ETL及離線計算。
物流企業(yè)使用Yarn來處理物流數(shù)據(jù),以方便統(tǒng)一管理或調(diào)度計算資源。錦程物流網(wǎng)、中國物通網(wǎng)采用Map/Reduce,Spark SQL及Spark RDD了技術(shù),對開發(fā)人員和用戶更友好,物流數(shù)據(jù)的計算效率更高,處理速度更快,與用戶粘合性也更好。Spark on Yarn也是物流企業(yè)數(shù)據(jù)分析和處理的一種理想選擇。
此外ETL也通過Spark SQL或Hive SQL來做數(shù)據(jù)處理,Hive在2.0以后能支持存儲過程,使用起來更便捷。如果出于綜合考慮的話Saprk SQL是更理想的選擇。
參考文獻
[1]林文輝.基于Hadoop的海量網(wǎng)絡(luò)數(shù)據(jù)處理平臺的關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2014.
[2]鄭文博.基于Hadoop的汽車整車物流管理系統(tǒng)的設(shè)計與實現(xiàn)[D].天津:天津大學(xué),2017.
[3]魏斐翡.ECLHadoop:基于Hadoop的有效電子商務(wù)物流大數(shù)據(jù)處理策略[J].計算機工程與科學(xué),2013,35(10):65-71.
[4]王寅田.基于Hadoop的交通物流大數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)[D].上海:上海交通大學(xué),2014.