我有兩個RDD,看起來像這樣:RDD1元素看起來像這樣[123,456,789],RDD2元組看起來像這樣[456,999]。現在我需要結合/連接這兩個基於456的RDD,這是RDD1中的第二個元素,RDD2中的第一個元素。最終輸出看起來像這樣: - [123,456,789,999]。有沒有辦法做到這一點,或者做鑰匙需要首先加入? 預先感謝您的時間。當密鑰不在同一地點時連接兩個RDD
1
A
回答
0
您可以將RDD轉換爲Dataframe,然後進行如下所示的簡單連接。
rdd1 = sc.parallelize([(123, 456, 789)])
rdd2 = sc.parallelize([(456, 999)])
df1 = rdd1.toDF()
df2 = rdd2.toDF()
result = df1.join(df2, df1['_2'] == df2['_1'])
result.rdd.map(lambda x: (x[0],x[1],x[2],x[4])).collect()
[(123, 456, 789, 999)]
+0
當我試圖將這段代碼檢查此RDD是否有toDF函數返回false:print hasattr(RDD1,「tdDF」)。如果這些東西已經是RDD,我需要並行嗎? –
+0
我粘貼了Scala代碼..讓我重新發布python版本 –
+0
@DigvijaySawant更新了pyspark版本 –
相關問題
- 1. Paramiko連接時不詢問SSH密鑰
- 2. 在SSL套接字連接中使用兩個密鑰對
- 3. 在兩個巨大的RDD上加入或減去密鑰
- 4. 加入同一表兩次在不同的密鑰
- 5. 拼合RDD的密鑰
- 6. MS SQL - 在一個列中使用子串密鑰連接兩個表
- 7. 當前不支持多個同時連接或同一事務內的不同連接字符串的連接
- 8. 如何有效地添加一個新的密鑰到RDD在pyspark
- 9. 兩個連接在同一臺
- 10. 檢查兩個不同字典中的相同密鑰,打印密鑰和兩個值
- 11. 如何關聯兩個不通過密鑰直接連接的mysql表
- 12. 當KTable丟失密鑰時,處理KStream與KTable的連接
- 13. Pyspark單RDD到RDD的多重RDD密鑰
- 14. 如何根據hadoop中的共同密鑰連接兩個數據集?
- 15. Nodejs createDecipher,可以使用兩個不同的密鑰解密相同的密文
- 16. LINQ:如何使用動態密鑰連接兩個數據表
- 17. SSRS加密密鑰同時在兩臺機器上丟失
- 18. 兩個功能一個接一個地點擊按鈕時 - Pyside
- 19. 基於一個公共密鑰合併/連接兩個對象(push?splice?)
- 20. 合併兩個不同的陣列基於相同的密鑰
- 21. 當一個爲空時連接字符串不同
- 22. 蟒蛇:如何排序在兩個不同的密鑰
- 23. 變量如何在同一時間點有兩個不同的地址?
- 24. 在一個laravel中連接兩個不同的數據庫5.5
- 25. 不同的密鑰點到的NSMutableDictionary
- 26. 兩個不同點擊兩個div,一個在另一個
- 27. 在一個SSL套接字連接中使用兩個私鑰(keystore)和兩個公鑰(truststore)
- 28. 同一個項目中的兩個google API密鑰
- 29. 在同一個SQL查詢中連接兩個表兩次
- 30. 在Apache Spark中添加/連接兩個類型爲Set的RDD
so RDD1由3個元素的元組構成,RDD2由2個元素的元組構成? –
是的..這是正確的..我需要將這2個RDD合併爲4個元素的元組,然後根據最後一個元素減少我最後加入的RDD,在這種情況下,這是999。 –