4 回答

TA貢獻1811條經(jīng)驗 獲得超6個贊
基于企業(yè)級傳統(tǒng)數(shù)據(jù)倉庫應(yīng)用的特點和要求,以及Hadoop技術(shù)的原理和特點,在使用Hadoop大數(shù)據(jù)平臺實現(xiàn)傳統(tǒng)數(shù)倉應(yīng)用的過程中,需要關(guān)注和解決的關(guān)鍵問題有很多,本文主要列舉在以下幾個核心問題和解決思路:模型和SQL支持、海量數(shù)據(jù)的存儲和高效計算、高并發(fā)查詢、事務(wù)支持。
1、模型和SQL支持
模型方面,原量收系統(tǒng)模型設(shè)計原則是基于中國郵政整體企業(yè)管理和業(yè)務(wù)管理的規(guī)則和流程,同時考慮到系統(tǒng)的擴展。為了便于理解,整個模型先按照數(shù)據(jù)倉庫典型方式劃分為接口貼源層、邏輯層和匯總層。接口貼源層按照接口來源各個系統(tǒng)進行劃分,系統(tǒng)模型和源系統(tǒng)模型基本保持一致;邏輯層和匯總層則按照主題域進行劃分。接口層模型與源業(yè)務(wù)系統(tǒng)基本一致,結(jié)構(gòu)簡單,關(guān)聯(lián)度相對較低,大部分源業(yè)務(wù)系統(tǒng)使用Oracle數(shù)據(jù)庫?;A(chǔ)層模型結(jié)構(gòu)相對復(fù)雜,關(guān)聯(lián)度相對較高,系統(tǒng)使用Teradata數(shù)據(jù)庫,匯總層模型結(jié)構(gòu)相對簡單,關(guān)聯(lián)度低,系統(tǒng)使用Teradata數(shù)據(jù)庫。
中國郵政大數(shù)據(jù)平臺選用的底層產(chǎn)品全面支持Oracle數(shù)據(jù)表模型,支持大部分的Teradata模型。但在實踐過程中,從Teradata數(shù)據(jù)庫向Hadoop平臺進行模型遷移時,還是有許多特殊語法需要進行修訂,下圖為Teradata語法與Hadoop平臺語法的對比和轉(zhuǎn)換關(guān)系舉例:
表3-1 Teradata語法與Hadoop平臺語法的對比和轉(zhuǎn)換關(guān)系舉例
SQL方面,系統(tǒng)的報表查詢和ETL加工采用了大量的復(fù)雜SQL。
中國郵政大數(shù)據(jù)平臺選用的底層產(chǎn)品支持99%的ANSI SQL2003語法,也支持Oracle PL/SQL,包括完整的數(shù)據(jù)類型、流程控制、Package、游標(biāo)、異常處理以及動態(tài)SQL執(zhí)行,可以支持遷移大部分的語法和腳本。但在實踐過程中,從Teradata數(shù)據(jù)庫向Hadoop平臺進行SQL遷移時,還是有許多特殊語法需要進行針對性改進,下表為Hadoop平臺不支持的語法和問題舉例:
表3-2 Hadoop平臺不支持的語法和問題舉例
上述問題需要在開發(fā)過程中進行針對性的產(chǎn)品更新或代碼更新
2、海量數(shù)據(jù)的存儲和高效計算
中國郵政大數(shù)據(jù)平臺匯集了中國郵政各大業(yè)務(wù)系統(tǒng)的歷史業(yè)務(wù)數(shù)據(jù),需要經(jīng)過T+1的數(shù)據(jù)處理得到分析和計算結(jié)果進行展示。因此需要對海量數(shù)據(jù)進行存儲,并提供高效的數(shù)據(jù)計算。
中國郵政大數(shù)據(jù)平臺的底層數(shù)據(jù)產(chǎn)品通過內(nèi)存計算技術(shù)、高效索引、執(zhí)行計劃優(yōu)化和高度容錯的技術(shù),能夠處理從TB的數(shù)據(jù),并且在數(shù)據(jù)量級上都能提供比現(xiàn)有技術(shù)更快的性能。
底層平臺基于Spark的分析引擎,從下往上包含三層架構(gòu),底層是分布式內(nèi)存列式存儲,可建在內(nèi)存或者SSD上,中間層是Spark計算引擎層,最上層包括一個完整的SQL99和PL/SQL編譯器、統(tǒng)計算法庫和機器學(xué)習(xí)算法庫。因此可以分析存儲在HDFS,HBase或者Holodesk分布式緩存中的數(shù)據(jù),可以處理的數(shù)據(jù)量從GB到數(shù)十TB,即使數(shù)據(jù)源或者中間結(jié)果的大小遠大于內(nèi)存,也可高效處理。
同時,采用跨內(nèi)存/閃存等介質(zhì)的分布式混合列式存儲,可用于緩存數(shù)據(jù)供Spark高速訪問。小內(nèi)存+SSD+磁盤的新方案可以提供跟大內(nèi)存+磁盤的傳統(tǒng)方案性能接近的交互式SQL分析能力。由于內(nèi)存的價格是SSD的10倍,因此可以采用SSD來替代內(nèi)存作為緩存,一方面可以增大分布式內(nèi)存數(shù)據(jù)庫Holodesk存儲容量,另一方面可以降低成本,同時性能沒有明顯損失。
同時解決開源Spark在穩(wěn)定性、可管理性和功能不夠豐富上的問題。平臺對Spark進行了大量的改進,極大提高了Spark功能和性能的穩(wěn)定性。能穩(wěn)定的運行7*24小時,并能在TB級規(guī)模數(shù)據(jù)上高效進行各種穩(wěn)定的統(tǒng)計分析。
3、高并發(fā)查詢
中國郵政大數(shù)據(jù)平臺經(jīng)過數(shù)據(jù)處理和匯總,為中國郵政各大業(yè)務(wù)板塊各及機構(gòu)提供數(shù)據(jù)報表和數(shù)據(jù)查詢,用戶數(shù)超過5萬,并發(fā)數(shù)超過2千。因此需要解決高并查詢的性能和效率問題。
中國郵政大數(shù)據(jù)平臺的底層數(shù)據(jù)產(chǎn)品支持使用大表交互等一系列復(fù)雜的SQL分析語法操作。同時支持多種索引,包括全局索引(Global Index)、局部索引(Local Index)、高維索引(High-dimensionalIndex)以及全文索引(Full-textIndex)等;支持通過SQL進行復(fù)雜條件毫秒級高并發(fā)查詢。
主要通過使用索引來加快數(shù)據(jù)的查詢速度。包括三種索引:本地索引、全局索引、全文索引,支持索引的自動創(chuàng)建(在創(chuàng)建表時指定索引),也支持對已有表創(chuàng)建索引。索引的基本設(shè)計思想是對表中的需要經(jīng)常作為查詢條件的列建立一個映射到主數(shù)據(jù)的索引。查詢時可以利用索引特性進行快速定位并返回查詢結(jié)果。實驗證明,通過使用索引,用戶查詢的響應(yīng)速度可以達到原來的20~100倍。同時支持全局、局部、高維索引和高級過濾器,,滿足在線存儲和在線業(yè)務(wù)分析系統(tǒng)(OLAP)的低延時需求,實現(xiàn)高并發(fā)低延時的OLAP查詢。

TA貢獻1821條經(jīng)驗 獲得超5個贊
Spark是基于內(nèi)存的迭代計算框架,適用于需要多次操作特定數(shù)據(jù)集的應(yīng)用場合,如pageRank、K-Means等算法就非常適合內(nèi)存迭代計算。
Spark整個生態(tài)體系正逐漸完善中,GraphX 、 SparkSQL、 SparkStreaming 、 MLlib,等到Spark有了自己的數(shù)據(jù)倉庫后,那就完全能與Hadoop生態(tài)體系相媲美。

TA貢獻1816條經(jīng)驗 獲得超6個贊
進行ssh的設(shè)置,但是你問到這個問題,我們可以從理論上推一下,namenode和datanode肯定是需要交互的,故需要ssh設(shè)置,而namenode和datanode之間交互的都是“頭參數(shù)”,具體的數(shù)據(jù)交互,還是由datanode和datanode之間來自行拷貝或交互的,因此我認為數(shù)據(jù)節(jié)點之間是肯定需要ssh設(shè)置的,你也可以直接試試看。~
- 4 回答
- 0 關(guān)注
- 1182 瀏覽
添加回答
舉報