第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用Python寫spark?

如何用Python寫spark?

繁華開滿天機(jī) 2018-11-21 15:11:19
如何用Python寫spark
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗 獲得超2個贊

1.RDD是PariRDD類型
def add1(line):
return line[0] + line[1]
def add2(x1,x2):
return x1 + x2
sc = SparkContext(appName="gridAnalyse")
rdd = sc.parallelize([1,2,3])
list1 = rdd.map(lambda line: (line,1)).map(lambda (x1,x2) : x1 + x2).collect() #只有一個參數(shù),通過匹配來直接獲?。ㄙx值給里面對應(yīng)位置的變量)
list1 = rdd.map(lambda line: (line,1)).map(lambda x1,x2 : x1 + x2).collect() #錯誤,相當(dāng)于函數(shù)有兩個參數(shù)
list2 = rdd.map(lambda line: (line,1)).map(lambda line : line[0] + line[1]).collect() #只有一個參數(shù),參數(shù)是Tuple或List數(shù)據(jù)類型,再從集合的對應(yīng)位置取出數(shù)據(jù)
list3 = rdd.map(lambda line: (line,1)).map(add1).collect() #傳遞函數(shù),將Tuple或List類型數(shù)據(jù)傳給形參
list4 = rdd.map(lambda line: (line,1)).map(add2).collect() #錯誤,因為輸入只有一個,卻有兩個形參
當(dāng)RDD是PairRDD時,map中可以寫lambda表達(dá)式和傳入一個函數(shù)。
a、寫lambda表達(dá)式:
可以通過(x1,x2,x3)來匹配獲取值;或者使用line獲取集合,然后從集合中獲取。
b、傳入函數(shù)
根據(jù)spark具體的transaction OR action 操作來確定自定義函數(shù)參數(shù)的個數(shù),此例子中只有一個參數(shù),從形參(集合類型)中獲取相應(yīng)位置的數(shù)據(jù)。



查看完整回答
反對 回復(fù) 2018-12-10
  • 1 回答
  • 0 關(guān)注
  • 995 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號