官术网_书友最值得收藏!

第六節 基于大數據的經濟形勢分析及預警研究平臺建設

大數據處理平臺框架主要由四部分組成:數據采集與數據交換、數據存儲中心、分布式計算中心、大數據處理管理體系,如圖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期。

主站蜘蛛池模板: 南投县| 花莲县| 通渭县| 迁西县| 泰来县| 衡南县| 高邮市| 信宜市| 陆河县| 万源市| 浦县| 百色市| 桐乡市| 颍上县| 淮滨县| 建始县| 金门县| 瑞金市| 绍兴市| 翁源县| 北安市| 承德县| 塔河县| 长宁区| 宁化县| 广南县| 安龙县| 阳春市| 德令哈市| 应城市| 綦江县| 密山市| 红安县| 桑日县| 承德县| 枣庄市| 庄河市| 尉氏县| 石门县| 呈贡县| 石林|