2016-04-05 13 views
0

私はPython sparkに新しいので、この質問は初心者かもしれません。しかし、ここやGoogleで良い答えが見つからないので、とにかく質問します。同じrddの計算に依存してrddに要素を追加する

私は自分のrddにいくつかの計算をすることによって自分のrddにいくつかの要素を追加したいと思います。私のrddは名前付きの行で、文字列を含んでいます。私は、ファイル内にタブで区切られた2つの数字を追加したいと思います。次に、この合計を行rddの最後に追加します。

lines = sc.textFile("myFile.txt") 
#Splitting the string where there are tabs 
linesArr=lines.map(lambda line: line.split("\t")) 

今はlinesArrに2つの最初のタブを一緒に追加して、行の最後に結果を追加します。

どうすればよいですか?ここで同じことを疑問に思うかもしれません人のために

+0

theSum = linesArr(lambda x:sumFunction(x [0] + x [1])を使用して、最初の2つの要素をまとめました。 – Sindre

答えて

0

は、私は簡単な例でそれを解決する方法である:

n=sc.parallelize([(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9)]) 

m=n.map(lambda x: x[0]+x[1]) 

z=n.zip(m).map(lambda x: (x[0][0],x[0][1],x[1])) 

結果zは次のとおりです。[(1,1,2)、(2、 2,4、...] マップを省略すると、結果は[((1,1)、2)、((2,2)、4)、..]になります。それはこの場合です。

関連する問題