真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

spark初始化怎么配置

這篇文章主要講解了“spark初始化怎么配置”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“spark初始化怎么配置”吧!

專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)澧縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

1. 在較高層次上,每個(gè)spark應(yīng)用程序包含一個(gè)驅(qū)動(dòng)程序,去調(diào)用用戶的main函數(shù),在集群上執(zhí)行各種并行操作。spark主要的抽象,是提供了RDD數(shù)據(jù)類型。RDD數(shù)據(jù)類型是一組分割在集群上可以被并行操作的元素集合。RDD可以通過HDFS上的文件,驅(qū)動(dòng)程序已有的集合,或?qū)σ延械腞DD進(jìn)行變換來創(chuàng)建。用戶也可以將RDD持久化,保存在內(nèi)存中,以被有效的重用。RDD也將自動(dòng)從失敗中恢復(fù)。spark的第二個(gè)抽象是可以被并行操作的共享變量。默認(rèn)情況下,spark運(yùn)行函數(shù)時(shí),將在不同的節(jié)點(diǎn)上啟動(dòng)獨(dú)立的任務(wù)。spark支持2類共享變量,廣播變量,在每一個(gè)節(jié)點(diǎn)上保存一個(gè)值,累積變量支持累加操作。

2. spark初始化

spark應(yīng)用程序首先應(yīng)該創(chuàng)建JavaSparkContext對象

SparkConf conf = new SparkConf().setAppName(appName).setMaster(master);
JavaSparkContext sc = new JavaSparkContext(conf);

appname設(shè)置顯示在集群UI上應(yīng)用程序名,master是YARN集群的URL,或者字符串"local"表示運(yùn)行本地模式。若采用spark-submit命令提交jar包,可由--master選項(xiàng)指定。

3. 創(chuàng)建RDD

RDD可以通過parallelizing一個(gè)驅(qū)動(dòng)程序中已存在的集合,或者引用一個(gè)外部存儲系統(tǒng),如HDFS,HBase創(chuàng)建

List data = Arrays.asList(1, 2, 3, 4, 5);
JavaRDD distData = sc.parallelize(data, 20);

集合并行化的一個(gè)重要參數(shù)就是份數(shù)(slices),每一份數(shù)據(jù)將對應(yīng)一個(gè)任務(wù),spark默認(rèn)會根據(jù)集群自動(dòng)確定份數(shù)。

JavaRDD distFile = sc.textFile("data.txt", 20);

如果文件名是本地文件系統(tǒng),那么需要在所有工作節(jié)點(diǎn)的相同目錄下拷貝一份數(shù)據(jù),或者采用網(wǎng)絡(luò)共享文件系統(tǒng)。所有的spark文件輸入方法也支持目錄,壓縮文件,通配符。默認(rèn)情況下一個(gè)分塊(block)將對應(yīng)一份(slice)。除了文本文件,spark還支持其它數(shù)據(jù)格式,如:JavaSparkContext.wholeTextFiles,SequenceFiles。

4. RDD操作支持兩種,變換(transformation)根據(jù)已經(jīng)存在的數(shù)據(jù)集產(chǎn)生一個(gè)新的數(shù)據(jù)集,動(dòng)作(action)在RDD上運(yùn)行計(jì)算并向驅(qū)動(dòng)程序返回一個(gè)值。例如:map就是一個(gè)transformation,將所有的數(shù)據(jù)元素通過一個(gè)函數(shù),結(jié)果返回一個(gè)新的RDD,reduce就是一個(gè)action,采用某個(gè)函數(shù)聚合所有元素,向驅(qū)動(dòng)程序返回一個(gè)結(jié)果。所有的transformation操作在調(diào)用后,并不會立即執(zhí)行,只有當(dāng)某個(gè)action需要向驅(qū)動(dòng)程序返回一個(gè)結(jié)果時(shí),才執(zhí)行。這樣設(shè)計(jì)使得spark效率更高,例如在需要將一個(gè)RDD通過一個(gè)map,然后再使用reduce返回一個(gè)結(jié)果,這時(shí)就只需要向驅(qū)動(dòng)程序返回reduce的結(jié)果,而不是更大的map后的數(shù)據(jù)集。默認(rèn)RDD是不會一直存在于內(nèi)存當(dāng)中的,我們可以調(diào)用persist或cache方法持久化,也支持將RDD持久化入硬盤,或者備份到多個(gè)節(jié)點(diǎn)。

5. RDD transformation方法

map(T -> U)  filter(T -> Boolean)  flatMap(T -> Iterator)  mapPartitions(Iterator -> Iterator)

mapPartitionsWithIndex((int,Iterator) -> Iterator)  ...

感謝各位的閱讀,以上就是“spark初始化怎么配置”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對spark初始化怎么配置這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


本文標(biāo)題:spark初始化怎么配置
地址分享:http://weahome.cn/article/jhjsjh.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部