Join 如何连接两个RDD';在Pyspark中是否有特定列?
如何将两个RDD与item_id列连接起来Join 如何连接两个RDD';在Pyspark中是否有特定列?,join,pyspark,rdd,Join,Pyspark,Rdd,如何将两个RDD与item_id列连接起来 ## RDD1 = spark.createDataFrame([('45QNN', 867), ('45QNN', 867), ('45QNN', 900 )] , ['id', 'item_id']) RDD1=RDD1.rdd RDD2 = spark.createDataFrame([('
##
RDD1 = spark.createDataFrame([('45QNN', 867),
('45QNN', 867),
('45QNN', 900 )]
, ['id', 'item_id'])
RDD1=RDD1.rdd
RDD2 = spark.createDataFrame([('867',229000,'house',90),
('900',350000,'apartment',120)]
, ['item_id', 'amount','parent','size'])
RDD2=RDD2.rdd
按照建议
我确实尝试过,但它得到的数据集是空的
innerJoinedRdd = RDD1.join(RDD2)
or
RDD2.join(RDD1, RDD1("item_id")==RDD2("item_id")).take(5)
我需要所有列,除了父列。请提供帮助?可能重复的解决方案我尝试了解决方案,但rdd1不起作用。join(rdd2)
join
假设第一个“列”是join键。您必须映射第一个rdd
,才能更改元素的顺序。尝试rdd1.map(lambdax:(x[1],x[0])。加入(rdd2)
。还有,为什么要使用rdd
?只需使用数据框:df1.join(df2,on=“item\u id”)
谢谢,但仍然不起作用。[]这就是我得到的。我有一个大数据集,我必须使用rdd。一个rdd是字符串,另一个是int。请尝试:rdd1.map(lambda x:(str(x[1]),x[0])。join(rdd2)
。我有一个大数据集,我必须使用RDD——这毫无意义-