999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Apache Spark的大數(shù)據(jù)分析引擎應(yīng)用研究

2018-04-17 13:10:04王軍
電子測試 2018年16期
關(guān)鍵詞:引擎用戶模型

王軍

(西安外事學(xué)院,陜西西安,710077)

0 引言

工業(yè)和研究領(lǐng)域數(shù)據(jù)量的增長帶來了巨大的機遇,同時也帶來了巨大的計算挑戰(zhàn)。由于數(shù)據(jù)規(guī)模已經(jīng)超出了單機的計算能力,用戶需要新系統(tǒng)將計算擴展到多個計算節(jié)點。因此,針對不同計算負(fù)載的新型集群編程模型大量涌現(xiàn)。剛開始,這些模型相對專業(yè)化,為解決新的負(fù)載問題開發(fā)新模型。例如,MapReduce支持批處理,但Google也開發(fā)了用于交互式SQL查詢的Dremel和用于迭代圖算法的Pregel。在開源的Apache Hadoop堆棧中,Storm和Impala等系統(tǒng)也是為專門的運算開發(fā)的。即使在關(guān)系數(shù)據(jù)庫領(lǐng)域里,基本趨勢也是要避免“通用”的系統(tǒng)。然而現(xiàn)實情況中大多數(shù)大數(shù)據(jù)應(yīng)用程序需要結(jié)合許多不同的處理類型。“大數(shù)據(jù)”的本質(zhì)在于它是多樣性和無序性;典型的工作流程需要類似MapReduce的代碼用于數(shù)據(jù)加載、類似SQL的查詢以及迭代機器學(xué)習(xí),使用專門的引擎會造成系統(tǒng)更加復(fù)雜,效率低下。為此,用戶還必須將不同的系統(tǒng)連接在一起,某些應(yīng)用程序甚至根本無法在任何引擎中高效表達(dá)。

1 Apache Spark編程模型

Spark框架編程的核心概念是彈性分布式數(shù)據(jù)集(RDDs),RDD是跨群集分區(qū)對象的容錯集合。Spark通過Scala、Java、Python和R等編程語言中的功能性API來提供RDD接口,用戶通過對自己的數(shù)據(jù)申請轉(zhuǎn)換操作(如map、filter和groupBy等)來創(chuàng)建RDD。Spark允許RDD為用戶的計算找到一個有效的計劃,用戶的轉(zhuǎn)換操作返回一個表示計算結(jié)果的新RDD對象,當(dāng)一個動作被調(diào)用時,Spark會查看用于創(chuàng)建執(zhí)行計劃的整個轉(zhuǎn)換圖,進(jìn)而進(jìn)行計算。

除了提供數(shù)據(jù)共享和各種并行操作外,RDD還可以自動從故障中恢復(fù),因而具有很強的容錯能力。傳統(tǒng)的分布式計算系統(tǒng)通過數(shù)據(jù)復(fù)制或檢查點提供容錯功能,而Spark采用一種稱為“l(fā)ineage”的方法,每個RDD跟蹤用于構(gòu)建它的轉(zhuǎn)換圖,并在基礎(chǔ)數(shù)據(jù)上重新執(zhí)行轉(zhuǎn)換操作以重建任何丟失的分區(qū)。基于lineage的恢復(fù)比數(shù)據(jù)密集型工作負(fù)載中的復(fù)制效率更高,因為通過網(wǎng)絡(luò)寫入數(shù)據(jù)比將數(shù)據(jù)寫入RAM以及存儲器的存儲空間要慢得多。有損節(jié)點通常包含多個RDD分區(qū),這些分區(qū)可以在其他節(jié)點上并行重建,因而恢復(fù)通常比重新運行程序快得多。

Spark與存儲系統(tǒng)具有良好的集成性能。與谷歌的MapReduce很像,Spark被設(shè)計為與多個外部系統(tǒng)一起用于長期存儲。Spark最常用于集群文件系統(tǒng),如HDFS、S3和Cassandra等的鍵值存儲,它也可以連接Apache Hive作為數(shù)據(jù)目錄。雖然Spark SQL JDBC服務(wù)器等應(yīng)用程序也可以在多個用戶之間共享RDD,而RDD通常僅在應(yīng)用程序中存儲臨時數(shù)據(jù)。Spark引擎與存儲系統(tǒng)無關(guān)的設(shè)計理念使用戶可以輕松地針對現(xiàn)有數(shù)據(jù)運行計算并增加多種數(shù)據(jù)源。

2 ApacheSpark高層庫應(yīng)用

RDD編程模型僅提供對象和函數(shù)的分布式集合, Spark使用RDD針對許多專用計算引擎構(gòu)建了各種更高級的庫。核心的思想是,控制存儲在RDD中的數(shù)據(jù)結(jié)構(gòu)、跨節(jié)點的數(shù)據(jù)分區(qū)以及在其上運行的功能,就可以在其他引擎中實現(xiàn)許多執(zhí)行操作。事實上,這些庫通常可以針對任務(wù)提供最優(yōu)秀的性能,同時在庫組合使用時也具有顯著的優(yōu)勢。現(xiàn)討論Apache Spark包含的四個主要庫。

SQL和DataFrames。數(shù)據(jù)處理中最常見的應(yīng)用之一是關(guān)系查詢,Spark SQL及其前身Shark 23使用類似于分析數(shù)據(jù)庫的技術(shù)在Spark上執(zhí)行關(guān)系查詢。這些系統(tǒng)支持列式存儲、基于成本的優(yōu)化和用于查詢執(zhí)行情況的代碼生成,背后的主要思想是使用與分析數(shù)據(jù)庫相同的數(shù)據(jù)布局,即壓縮列式存儲和內(nèi)部RDD。在Spark SQL中,RDD中的每條記錄都包含一系列以二進(jìn)制格式存儲的行數(shù)組,系統(tǒng)會生成代碼以直接針對這些行數(shù)組來運行。

除了運行SQL查詢之外,Spark SQL引擎為基本數(shù)據(jù)轉(zhuǎn)換DataFrames提供了更高級別的抽象,這些數(shù)據(jù)轉(zhuǎn)換是具有確定模式的RDD。DataFrames是R和Python中表格數(shù)據(jù)的常用抽象方式,用于過濾、計算和聚合新列的編程方法。在Spark中,這些操作映射到Spark SQL引擎并接收其所有優(yōu)化。

Spark Streaming。Spark Streaming使用“離散化流”模型實現(xiàn)增量流處理。為了實現(xiàn)Spark的流式處理,我們將輸入數(shù)據(jù)在時間上(如每200毫秒)進(jìn)行分割,再與RDD中存儲的狀態(tài)相結(jié)合來產(chǎn)生新結(jié)果。由于使用譜系故障恢復(fù)較為便宜,因此可以將流式傳輸與批處理和交互式查詢結(jié)合起來。

GraphX。GraphX提供了一個類似于Pregel和GraphLab的圖形計算界面,通過為其構(gòu)建的RDD選擇分區(qū)功能,實現(xiàn)與這些系統(tǒng)相同的布局優(yōu)化。

MLlib。MLlib是Spark的機器學(xué)習(xí)庫,實現(xiàn)了50多種分布式模型訓(xùn)練的常用算法,包括決策樹(PLANET)、潛在狄利克雷分配和交替最小二乘矩陣分解等。

Spark庫可以在數(shù)據(jù)的所有RDD上運行,因而它們在應(yīng)用程序中的組合也相對容易。由于Spark提供跨處理庫的優(yōu)化功能,因此除了在API層的兼容性,Spark的庫組合在執(zhí)行層也很有效。如果一個庫運行映射函數(shù),另外一個庫在其映射結(jié)果上運行另外一個映射,則Spark將這些操作融合到一個映射中。同樣,Spark的故障恢復(fù)功能可以在這些庫中無縫連接,無論哪個庫生成它,都可以重新計算丟失的數(shù)據(jù)。

3 小結(jié)

本文介紹了Apache Spark的發(fā)展歷史,并詳細(xì)介紹了編程模型并且解釋了其非常普遍的原因,針對高層庫介紹了ApacheSpark四個常用的庫,以及這些庫之間的相互調(diào)用的組合使用方法和應(yīng)當(dāng)注意的問題。對研究基于ApacheSpark的分布式大數(shù)據(jù)處理具有很好的參考價值。

猜你喜歡
引擎用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發(fā)
主站蜘蛛池模板: 中文字幕欧美日韩| 国产探花在线视频| 国产在线自揄拍揄视频网站| 67194亚洲无码| 欧美精品影院| 麻豆精品国产自产在线| 免费看a级毛片| 一本一道波多野结衣一区二区| 亚洲天堂网站在线| 亚洲日韩精品欧美中文字幕| 亚洲欧美精品一中文字幕| 亚洲二区视频| 人人91人人澡人人妻人人爽| 精品国产三级在线观看| 国产成年女人特黄特色大片免费| 国产一区免费在线观看| 热re99久久精品国99热| 亚洲日韩在线满18点击进入| 四虎影视8848永久精品| 99久久精品久久久久久婷婷| 日韩无码真实干出血视频| 亚洲AV免费一区二区三区| 欧美日韩亚洲国产主播第一区| 久久亚洲日本不卡一区二区| 国产高清不卡视频| 香蕉伊思人视频| 爆乳熟妇一区二区三区| 日本免费新一区视频| 天堂成人av| 老司国产精品视频| 色一情一乱一伦一区二区三区小说| 中文精品久久久久国产网址| 99国产精品一区二区| 国产综合网站| 亚洲成aⅴ人在线观看| 99中文字幕亚洲一区二区| 伊人久久久大香线蕉综合直播| 成人免费一级片| 亚洲激情区| 亚洲无码高清视频在线观看| 99热最新网址| 午夜a级毛片| 日韩视频精品在线| 免费人成在线观看视频色| 国产激情无码一区二区APP| 丰满少妇αⅴ无码区| 波多野结衣在线se| 亚洲日韩国产精品综合在线观看| 亚洲成人免费在线| 精品国产99久久| 国产一区免费在线观看| 欧美在线精品怡红院| 91福利免费| 午夜精品国产自在| 欧美色图第一页| 日本少妇又色又爽又高潮| 一区二区三区四区在线| 中文字幕在线欧美| 日韩欧美一区在线观看| 97成人在线视频| 亚洲无码精彩视频在线观看| 亚洲第一天堂无码专区| 58av国产精品| 天天综合色网| 亚洲乱伦视频| 精品无码国产自产野外拍在线| a网站在线观看| 国产精品亚洲一区二区在线观看| 国产无码精品在线播放 | 亚洲人成影院在线观看| 中字无码精油按摩中出视频| 亚洲欧洲综合| 亚洲中文字幕23页在线| 97超爽成人免费视频在线播放| 九九热视频在线免费观看| 麻豆国产精品一二三在线观看| 亚洲黄色网站视频| 欧美五月婷婷| 国产黑丝视频在线观看| 欧美精品亚洲精品日韩专| 中国美女**毛片录像在线| 亚洲无码日韩一区|