我哈瓦2個數據幀中,兩個數據幀的計數是一樣的,我想每個值的總和兩個數據幀 這是輸入:如何計算兩個dataframe'value與火花斯卡拉
+---+ and +---+
|df1| |df2|
+---+ +---+
| 11| | 1|
| 12| | 2|
| 13| | 3|
| 14| | 4|
| 15| | 5|
| 16| | 6|
| 17| | 7|
| 18| | 8|
| 19| | 9|
| 20| | 10|
+---+ +---+
這是我的代碼:
val df1 = sc.parallelize(1 to 10,2).toDF("df1")
val df2 = sc.parallelize(11 to 20,2).toDF("df2")
val df3=df1.rdd.zip(df2.rdd).map(x=>{
x._1.getInt(0)+x._2.getInt(0)
}).toDF("result")
df3.show()
結果是:
我要查nge dataframe到rdd然後zip兩個rdd,如何計算兩個數據幀不轉換爲rdd?
有沒有更有效的方法來做到這一點? – mentongwu
窗口將改變分區,如果我使用窗口,我必須重新分區,當我計算它 – mentongwu
是的窗口功能肯定會改變分區。如果不將所有數據都集中在一個分區中,您將如何確保來自df2的11個數據和來自df1的1個數據位於同一個執行程序中。沒有確定所有分區在同一個執行器上,我們不能加入兩個數據框。你的要求就是這樣。 –