我有两个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。 –