資源描述:
《軟件開發(fā)平臺與工具.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、02九月2021第三章:軟件開發(fā)平臺與工具軟件開發(fā)技術(shù)補充大數(shù)據(jù)現(xiàn)在是業(yè)內(nèi)炙手可熱的話題,隨著技術(shù)的發(fā)展,大數(shù)據(jù)存儲技術(shù)已經(jīng)不在是難點,但是對大數(shù)據(jù)如何做好存儲后的下一步處理將是未來競爭的焦點,目前比較受歡迎的Storm,Spark,Hadoop三個大數(shù)據(jù)處理工具都是JVM上的語言寫成的。Spark由Scala寫成,是UCBerkeleyAMPlab所開源的類HadoopMapReduce的通用的并行計算框架,Spark基于mapreduce算法實現(xiàn)的分布式計算,擁有HadoopMapReduce所具有的優(yōu)點。Storm由java和cloju
2、re寫成,storm的優(yōu)點是全內(nèi)存計算,因為內(nèi)存尋址速度是硬盤的百萬倍以上,所以storm的速度相比較hadoop非???。hadoop是實現(xiàn)了mapreduce的思想,將數(shù)據(jù)切片計算來處理大量的離線數(shù)據(jù)數(shù)據(jù)。hadoop處理的數(shù)據(jù)必須是已經(jīng)存放在hdfs上或者類似hbase的數(shù)據(jù)庫中,所以hadoop實現(xiàn)的時候是通過移動計算到這些存放數(shù)據(jù)的機器上來提高效率。SparkSpark是發(fā)源于美國加州大學伯克利分校AMPLab的集群計算平臺。它立足于內(nèi)存計算,從多迭代批量處理出發(fā),兼收并蓄數(shù)據(jù)倉庫、流處理和圖計算等多種計算范式,是罕見的全能選手。Sp
3、ark已正式申請加入Apache孵化器,從靈機一閃的實驗室“電火花”成長為大數(shù)據(jù)技術(shù)平臺中異軍突起的新銳。本文主要講述Spark的設計思想。Spark如其名,展現(xiàn)了大數(shù)據(jù)不常見的“電光石火”。具體特點概括為“輕、快、靈和巧”。SparkSpark首先是一種粗粒度數(shù)據(jù)并行(dataparallel)的計算范式。數(shù)據(jù)并行的范式?jīng)Q定了Spark無法完美支持細粒度、異步更新的操作。Spark的計算抽象是數(shù)據(jù)流,而且是帶有工作集(workingset)的數(shù)據(jù)流。Spark的突破在于,在保證容錯的前提下,用內(nèi)存來承載工作集。SparkSpark是UCBe
4、rkeleyAMPlab所開源的類HadoopMapReduce的通用的并行計算框架.Spark基于mapreduce算法實現(xiàn)的分布式計算,擁有HadoopMapReduce所具有的優(yōu)點;但不同于MapReduce的是Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學習等需要迭代的mapreduce的算法。SparkShark基本上就是在Spark的框架基礎上提供和Hive一樣的HiveQL命令接口,為了最大程度的保持和Hive的兼容性,Shark使用了Hive的API來實現(xiàn)queryP
5、arsing和LogicPlangeneration,最后的PhysicalPlanexecution階段用Spark代替HadoopMapReduce。通過配置Shark參數(shù),Shark可以自動在內(nèi)存中緩存特定的RDD,實現(xiàn)數(shù)據(jù)重用,進而加快特定數(shù)據(jù)集的檢索。同時,Shark通過UDF用戶自定義函數(shù)實現(xiàn)特定的數(shù)據(jù)分析學習算法,使得SQL數(shù)據(jù)查詢和運算分析能結(jié)合在一起,最大化RDD的重復使用。目錄軟件開發(fā)工具軟件開發(fā)平臺數(shù)據(jù)庫平臺網(wǎng)絡應用開發(fā)平臺(.Net,Java,J2EE等)嵌入式開發(fā)平臺(Linux,Tornado,mobileWin)
6、Oracle、Sybase、SQLServer、DB2、mySQL分布式數(shù)據(jù)庫系統(tǒng)開發(fā)源代碼軟件基礎開發(fā)工具測試環(huán)境與工具軟件開發(fā)平臺網(wǎng)絡應用開發(fā)平臺.NetJavaJ2EE嵌入式開發(fā)平臺嵌入式操作系統(tǒng)嵌入式開發(fā)環(huán)境嵌入式開發(fā)平臺.Net根據(jù)微軟的定義:.NETisa"revolutionarynewplatform,builtonopenInternetprotocolsandstandards,withtoolsandservicesthatmeldcomputingandcommunicationsinnewways".即:.NET=新
7、平臺+標準協(xié)議+統(tǒng)一開發(fā)工具.Net.Net作為新一代互聯(lián)軟件和服務戰(zhàn)略,將使微軟現(xiàn)有的軟件在網(wǎng)絡時代不僅適用于傳統(tǒng)的個人計算機,而且能夠滿足呈現(xiàn)強勁增長的新設備的需要。到底什么是.Net呢?微軟總裁兼首席執(zhí)行官SteveBaller把它定義為:.Net代表一個集體,一個環(huán)境,一個可以作為平臺支持下一代Internet的可編程結(jié)構(gòu)。.Net的目的是想將任何語言都統(tǒng)一到.Net平臺上。最終目的是讓用戶在任何地方、任何時間,以及利用任何設備都能訪問所需的信息、文件和程序。用戶不需要知道這些文件放在什么地方,只需要發(fā)出請求,然后只管接收就可以了。所
8、有后臺的復雜性是完全屏蔽起來的。.NET是MicrosoftXMLWebservices平臺。XMLWebservices允許應用程序通過Internet進行通訊和