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

第3章 Spark上的RDD編程

本書是Spark SQL入門書籍,重點講述的是如何利用Spark SQL (類似傳統(tǒng)的SQL查詢)在分布式平臺上輕松便捷地處理結(jié)構(gòu)化數(shù)據(jù)集。

對于Spark平臺的初學(xué)者來說,首先應(yīng)該了解Spark對數(shù)據(jù)的核心抽象——彈性分布式數(shù)據(jù)集(Resilient Distributed Dataset,RDD)及RDD編程基礎(chǔ),進而學(xué)習(xí)Spark處理某些特定問題的特定模塊,包括Spark SQL(結(jié)構(gòu)化數(shù)據(jù)集處理)、Spark Streaming(流計算)、MLlib(機器學(xué)習(xí))、GraphX(圖計算)。

學(xué)RDD有什么好處?

RDD API是Spark上處理數(shù)據(jù)的最基本編程方式。

RDD是Spark的核心,通過熟悉RDD編程,可看出分布式數(shù)據(jù)集在Spark多個節(jié)點分階段(stage)并行計算的實質(zhì),即每個節(jié)點按照Spark任務(wù)執(zhí)行計劃的調(diào)度有序在每個節(jié)點分別計算結(jié)果,最后一步步按照調(diào)度器的調(diào)度將結(jié)果合并,將結(jié)果返回至Spark客戶端,而Spark為程序員提供的便利就在于此,隱藏Spark底層各節(jié)點通信、協(xié)調(diào)、容錯細節(jié),成功地讓程序員在Spark上采用類似往常單機編程那樣的模式,就可以輕松操控整個集群進行數(shù)據(jù)挖掘。

什么是RDD?

RDD即彈性分布式數(shù)據(jù)集(Resilient Distributed Datasets),是Spark對數(shù)據(jù)的核心抽象,也就意味著在Spark上進行數(shù)據(jù)挖掘首先需要將待處理數(shù)據(jù)源轉(zhuǎn)化成RDD,在此RDD上進行操作。

何為對數(shù)據(jù)的核心抽象?即數(shù)據(jù)組織、處理基本單位,在Spark中如果不引入高級模塊,包括Spark SQL(結(jié)構(gòu)化數(shù)據(jù)集處理)、Spark Streaming(流計算)、MLlib(機器學(xué)習(xí))、GraphX(圖計算),那么在Spark中,對數(shù)據(jù)的所有操作不外乎創(chuàng)建RDD、轉(zhuǎn)化已有RDD以及調(diào)用RDD操作(API)進行求值,而在這一切背后,Spark會自動將RDD中的數(shù)據(jù)分發(fā)到集群個節(jié)點上,并將操作并行化執(zhí)行。

RDD是Spark的重要組成部分,加深對于RDD的學(xué)習(xí)與理解,有利于理解分布式計算的實質(zhì)以及Spark計算框架的實現(xiàn)。

主站蜘蛛池模板: 陆河县| 枞阳县| 湛江市| 忻州市| 万荣县| 象州县| 尉氏县| 济宁市| 洛阳市| 阿尔山市| 巨鹿县| 从江县| 衢州市| 玉树县| 清远市| 手机| 绥江县| 阿拉善右旗| 赣榆县| 清丰县| 福安市| 垫江县| 平顺县| 枞阳县| 岳西县| 海门市| 沙洋县| 嘉黎县| 水富县| 甘洛县| 舞钢市| 云和县| 宁波市| 奉化市| 长治市| 鹤壁市| 定南县| 绍兴市| 宽城| 密云县| 榕江县|