- Spark SQL入門與實踐指南
- 紀涵
- 652字
- 2019-12-06 16:38:20
第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)。
- 構(gòu)建高質(zhì)量的C#代碼
- 中文版Photoshop CS5數(shù)碼照片處理完全自學(xué)一本通
- Managing Mission:Critical Domains and DNS
- 空間機器人遙操作系統(tǒng)及控制
- 統(tǒng)計策略搜索強化學(xué)習(xí)方法及應(yīng)用
- RPA(機器人流程自動化)快速入門:基于Blue Prism
- 大學(xué)C/C++語言程序設(shè)計基礎(chǔ)
- 網(wǎng)絡(luò)化分布式系統(tǒng)預(yù)測控制
- 學(xué)會VBA,菜鳥也高飛!
- 智能生產(chǎn)線的重構(gòu)方法
- 從零開始學(xué)JavaScript
- 基于Proteus的單片機應(yīng)用技術(shù)
- 菜鳥起飛五筆打字高手
- 網(wǎng)絡(luò)安全原理與應(yīng)用
- PowerPoint 2003中文演示文稿5日通