Spark的transformation和action算子簡介-創(chuàng)新互聯(lián)

transformation算子

map(func)

返回一個新的分布式數(shù)據(jù)集,由每個原元素經(jīng)過func函數(shù)處理后的新元素組成

成都創(chuàng)新互聯(lián)公司擁有一支富有激情的企業(yè)網(wǎng)站制作團隊,在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)深耕十余年,專業(yè)且經(jīng)驗豐富。十余年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為成百上千中小企業(yè)提供了網(wǎng)站建設、網(wǎng)站制作解決方案,按需制作,設計滿意,售后服務無憂。所有客戶皆提供一年免費網(wǎng)站維護!

filter(func)

返回一個新的數(shù)據(jù)集,由經(jīng)過func函數(shù)處理后返回值為true的原元素組成

flatMap(func)

類似于map,但是每一個輸入元素,會被映射為0個或多個輸出元素,(因此,func函數(shù)的返回值是一個seq,而不是單一元素)

mapPartitions(func)

類似于map,對RDD的每個分區(qū)起作用,在類型為T的RDD上運行時,func的函數(shù)類型必須是Iterator[T]=>Iterator[U]

sample(withReplacement,fraction,seed)

根據(jù)給定的隨機種子seed,隨機抽樣出數(shù)量為fraction的數(shù)據(jù)

pipe(command,[envVars])

通過管道的方式對RDD的每個分區(qū)使用shell命令進行操作,返回對應的結果

union(otherDataSet)

返回一個新的數(shù)據(jù)集,由原數(shù)據(jù)集合參數(shù)聯(lián)合而成

intersection(otherDataset)

求兩個RDD的交集

distinct([numtasks])

返回一個包含源數(shù)據(jù)集中所有不重復元素的i新數(shù)據(jù)集

groupByKey([numtasks])

在一個由(K,v)對組成的數(shù)據(jù)集上調(diào)用,返回一個(K,Seq[V])對組成的數(shù)據(jù)集。默認情況下,輸出結果的并行度依賴于父RDD的分區(qū)數(shù)目,如果想要對key進行聚合的話,使用reduceByKey或者combineByKey會有更好的性能

reduceByKey(func,[numTasks])

在一個(K,V)對的數(shù)據(jù)集上使用,返回一個(K,V)對的數(shù)據(jù)集,key相同的值,都被使用指定的reduce函數(shù)聚合到一起,reduce任務的個數(shù)是可以通過第二個可選參數(shù)來配置的

sortByKey([ascending],[numTasks])

在類型為(K,V)的數(shù)據(jù)集上調(diào)用,返回以K為鍵進行排序的(K,V)對數(shù)據(jù)集,升序或者降序有boolean型的ascending參數(shù)決定

join(otherDataset,[numTasks])

在類型為(K,V)和(K,W)類型的數(shù)據(jù)集上調(diào)用,返回一個(K,(V,W))對,每個key中的所有元素都在一起的數(shù)據(jù)集

cogroup(otherDataset,[numTasks])

在類型為(K,V)和(K,W)類型的數(shù)據(jù)集上調(diào)用,返回一個數(shù)據(jù)集,組成元素為(K,Iterable[V],Iterable[W]) tuples

cartesian(otherDataset)

笛卡爾積,但在數(shù)據(jù)集T和U上調(diào)用時,返回一個(T,U)對的數(shù)據(jù)集,所有元素交互進行笛卡爾積

coalesce(numPartitions)

對RDD中的分區(qū)減少指定的數(shù)目,通常在過濾完一個大的數(shù)據(jù)集之后進行此操作

repartition(numpartitions)

將RDD中所有records平均劃分到numparitions個partition中


action算子

reduce(func)

通過函數(shù)func聚集數(shù)據(jù)集中的所有元素,這個函數(shù)必須是關聯(lián)性的,確??梢员徽_的并發(fā)執(zhí)行

collect()

在driver的程序中,以數(shù)組的形式,返回數(shù)據(jù)集的所有元素,這通常會在使用filter或者其它操作后,返回一個足夠小的數(shù)據(jù)子集再使用

count()

返回數(shù)據(jù)集的元素個數(shù)

first()

返回數(shù)據(jù)集的第一個元素(類似于take(1))

take(n)

返回一個數(shù)組,由數(shù)據(jù)集的前n個元素組成。注意此操作目前并非并行執(zhí)行的,而是driver程序所在機器

takeSample(withReplacement,num,seed)

返回一個數(shù)組,在數(shù)據(jù)集中隨機采樣num個元素組成,可以選擇是否用隨機數(shù)替換不足的部分,seed用于指定的隨機數(shù)生成器種子

saveAsTextFile(path)

將數(shù)據(jù)集的元素,以textfile的形式保存到本地文件系統(tǒng)hdfs或者任何其他Hadoop支持的文件系統(tǒng),spark將會調(diào)用每個元素的toString方法,并將它轉換為文件中的一行文本

takeOrderd(n,[ordering])

排序后的limit(n)

saveAsSequenceFile(path)

將數(shù)據(jù)集的元素,以sequencefile的格式保存到指定的目錄下,本地系統(tǒng),hdfs或者任何其他hadoop支持的文件系統(tǒng),RDD的元素必須由key-value對組成。并都實現(xiàn)了hadoop的writable接口或隱式可以轉換為writable

saveAsObjectFile(path)

使用Java的序列化方法保存到本地文件,可以被sparkContext.objectFile()加載
countByKey()
對(K,V)類型的RDD有效,返回一個(K,Int)對的map,表示每一個可以對應的元素個數(shù)

foreach(func)

在數(shù)據(jù)集的每一個元素上,運行函數(shù)func,t通常用于更新一個累加器變量,或者和外部存儲系統(tǒng)做交互

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站題目:Spark的transformation和action算子簡介-創(chuàng)新互聯(lián)
當前地址:http://bm7419.com/article28/igsjp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、品牌網(wǎng)站建設、網(wǎng)站設計公司手機網(wǎng)站建設、虛擬主機小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設