本篇文章給大家分享的是有關(guān)如何進(jìn)行Spark數(shù)據(jù)分析,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出岳麓免費(fèi)做網(wǎng)站回饋大家。
一、Spark數(shù)據(jù)分析導(dǎo)論
1.Spark是一個(gè)用來實(shí)現(xiàn)快速而通用的集群計(jì)算的平臺(tái),擴(kuò)展了MapReduce計(jì)算模型,支持更多計(jì)算模式,包括交互式查詢和流處理
2.包括Spark Core、Spark SQL、Spark Streaming(內(nèi)存流式計(jì)算)、MLlib(機(jī)器學(xué)習(xí))、GraphX(圖計(jì)算)
3.適用于數(shù)據(jù)科學(xué)應(yīng)用和數(shù)據(jù)處理應(yīng)用
二、Spark下載與入門
1.Spark應(yīng)用都由一個(gè)驅(qū)動(dòng)器程序(driver program)來發(fā)起集群上的各種并行操作,驅(qū)動(dòng)程序通過一個(gè)SparkContext對(duì)象來訪問Spark,這個(gè)對(duì)象代表對(duì)計(jì)算集群的一個(gè)連接
三、RDD編程
1.RDD(Resilient Distributed Dataset,彈性分布式數(shù)據(jù)集),就是分布式的元素集合,在Spark中,對(duì)數(shù)據(jù)的所有操作就是創(chuàng)建RDD、轉(zhuǎn)化RDD以及調(diào)用RDD操作進(jìn)行求值
2.工作方式:
從外部數(shù)據(jù)創(chuàng)建出輸入RDD
使用諸如filter()這樣的轉(zhuǎn)化操作對(duì)RDD進(jìn)行轉(zhuǎn)化,以定義新的RDD
告訴Spark對(duì)需要被征用的中間結(jié)果RDD執(zhí)行persist()操作
使用行動(dòng)操作(例如count()和first()等)來觸發(fā)一次并行計(jì)算,Spark會(huì)對(duì)計(jì)算進(jìn)行優(yōu)化后再執(zhí)行
3.RDD的轉(zhuǎn)化操作都是惰性求值 的,在調(diào)用行動(dòng)操作之前Spark不會(huì)開始計(jì)算
4.常用轉(zhuǎn)化操作:map()和filter()
四、鍵值對(duì)操作
1.pair RDD(鍵值對(duì)RDD),Spark提供了一些專有操作
2.Spark程序可以通過控制RDD分區(qū)方式來減少通信開銷,只有當(dāng)數(shù)據(jù)集多次在諸如連接這種基于鍵的操作中使用時(shí),分區(qū)才會(huì)有幫助
3.在Java中使用partitioner()方法獲取RDD的分區(qū)方式
4.Spark的許多操作都引入了將數(shù)據(jù)根據(jù)鍵跨節(jié)點(diǎn)進(jìn)行混洗的過程,這些操作都在分區(qū)中獲益
五、數(shù)據(jù)讀取與保存
1.將一個(gè)文本文件讀取為RDD時(shí),輸入的每一行都會(huì)成為RDD的一個(gè)元素,也可以將多個(gè)完整文件一次性讀取為一個(gè)pair RDD
2.JSON數(shù)據(jù)是將數(shù)據(jù)作為 文本文件讀取,然后使用JSON解析器對(duì)RDD中的值進(jìn)行映射操作,在Java和Scala中也可以使用一個(gè)自定義Hadoop格式來操作JSON數(shù)據(jù)
3.SequenceFile是由沒有相對(duì)關(guān)系結(jié)構(gòu)的鍵值對(duì)文件組成的常用Hadoop格式,有同步標(biāo)記,Spark可以用它來定位到文件中的某個(gè)點(diǎn),然后再與記錄的邊界對(duì)齊
六、Spark編程進(jìn)階
1.累加器:提供了將工作節(jié)點(diǎn)中的值聚合到驅(qū)動(dòng)器程序中的簡(jiǎn)單語法,常用于調(diào)試時(shí)對(duì)作業(yè)執(zhí)行過程中的事件進(jìn)行計(jì)數(shù)
2.廣播變量:讓程序高效地向所有工作節(jié)點(diǎn)發(fā)送一個(gè)較大的只讀值,以供一個(gè)或多個(gè)Spark操作使用
3.Spark的pipe()方法可以讓我們使用任意一種語言實(shí)現(xiàn)Spark作業(yè)中的部分邏輯,只要能讀寫Unix標(biāo)準(zhǔn)流就行
4.Spark的數(shù)值操作是通過流式算法實(shí)現(xiàn)的,允許以每次一個(gè)元素的方式構(gòu)建出模型
七、在集群上運(yùn)行Spark
1.在分布式環(huán)境下,Spark集群采用的是主/從結(jié)構(gòu),中央?yún)f(xié)調(diào)節(jié)點(diǎn)稱為驅(qū)動(dòng)器(Driver)節(jié)點(diǎn),工作節(jié)點(diǎn)稱為執(zhí)行器(executor)節(jié)點(diǎn),能過集群管理器(Cluster Manager)的外部服務(wù)在集群中的機(jī)器上啟動(dòng)Spark應(yīng)用
2.驅(qū)動(dòng)器程序:把用戶程序轉(zhuǎn)為任務(wù);為執(zhí)行器節(jié)點(diǎn)調(diào)度任務(wù)
3.使用bin/spark-submit部署
4.可以使用其他集群管理器:Hadoop YARN和Apache Mesos等
八、Spark調(diào)優(yōu)與調(diào)試
1.修改Spark應(yīng)用的運(yùn)行時(shí)配置選項(xiàng),使用SparkConf類
2.關(guān)鍵性性能考量:并行度、序列化格式、內(nèi)存管理、硬件供給
九、Spark SQL
1.三大功能:
可能從各種結(jié)構(gòu)化數(shù)據(jù)源中讀取數(shù)據(jù)
不僅支持在Spark程序內(nèi)使用SQL語句進(jìn)行數(shù)據(jù)查詢,也支持外部工具中通過標(biāo)準(zhǔn)數(shù)據(jù)庫連接器(JDBC/ODBC)連接Spark SQL進(jìn)行查詢
支持與常規(guī)的Python/Java/Scala代碼高度整合,包括RDD與SQL表、公開的自定義SQL函數(shù)接口等
2.提供了SchemaRDD,是存放Row對(duì)象的RDD,每個(gè)Row對(duì)象代表一行記錄,可以利用結(jié)構(gòu)信息更加高效地存儲(chǔ)數(shù)據(jù)
十、Spark Streaming
1.Spark Streaming:允許用戶使用一套和批處理非常接近的API來編寫流式計(jì)算應(yīng)用,這樣就可以大量重用批處理應(yīng)用的技術(shù)甚至代碼
2.Spark Streaming使用離散化流(discretized stream)作為抽象表示,叫做DStream,是隨時(shí)間推移而收到的數(shù)據(jù)的序列
十一、基于MLlib的機(jī)器學(xué)習(xí)
1.MLlib:Spark中提供機(jī)器學(xué)習(xí)函數(shù)的庫,專為在集群上并行運(yùn)行的情況而設(shè)計(jì),包含許多機(jī)器學(xué)習(xí)算法,把數(shù)據(jù)以RDD的形式表示,然后在分布式數(shù)據(jù)集上調(diào)用各種算法
2.機(jī)器學(xué)習(xí)算法根據(jù)訓(xùn)練數(shù)據(jù)(training data)使得表示算法行為的數(shù)學(xué)目標(biāo)最大化,并以此來進(jìn)行預(yù)測(cè)或作出決定,解決問題包括分類、回歸、聚類等
以上就是如何進(jìn)行Spark數(shù)據(jù)分析,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文題目:如何進(jìn)行Spark數(shù)據(jù)分析
網(wǎng)站URL:http://jinyejixie.com/article36/poscsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、軟件開發(fā)、自適應(yīng)網(wǎng)站、Google、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)