Apache spark 如何使用Pyspark将一个rdd映射到另一个rdd?
我有Apache spark 如何使用Pyspark将一个rdd映射到另一个rdd?,apache-spark,pyspark,rdd,Apache Spark,Pyspark,Rdd,我有rdd1,其中有标签(0,1,4),还有另一个rdd2,其中有文本。我想将rdd1映射为rdd2,这样rdd1的row1映射为rdd2的row1,依此类推 我试过: rdd2.join(rdd1.map(lambda x: (x[0], x[0:]))) 这给了我一个错误: RDD is empty. 有人能带我到这里吗? 示例输出:rdd1-标签和rdd2文本 如果您有rdd1as val rdd1 = sc.parallelize(List(0,0,4,1,4,1)) val rd
rdd1
,其中有标签(0,1,4)
,还有另一个rdd2
,其中有文本。我想将rdd1
映射为rdd2
,这样rdd1
的row1
映射为rdd2
的row1
,依此类推
我试过:
rdd2.join(rdd1.map(lambda x: (x[0], x[0:])))
这给了我一个错误:
RDD is empty.
有人能带我到这里吗?
示例输出:rdd1-标签和rdd2文本
如果您有
rdd1
as
val rdd1 = sc.parallelize(List(0,0,4,1,4,1))
val rdd2 = sc.parallelize(List("i hate painting i have white paint all over my hands.",
"Bawww I need a haircut No1 could fit me in before work tonight. Sigh.",
"I had a great day",
"what is life.",
"He sings so good",
"i need to go to sleep ....goodnight"))
和rdd2
as
val rdd1 = sc.parallelize(List(0,0,4,1,4,1))
val rdd2 = sc.parallelize(List("i hate painting i have white paint all over my hands.",
"Bawww I need a haircut No1 could fit me in before work tonight. Sigh.",
"I had a great day",
"what is life.",
"He sings so good",
"i need to go to sleep ....goodnight"))
我想将rdd1映射到rdd2,这样rdd1的行1映射到rdd2的行1,依此类推
使用压缩功能
一个简单的zip
功能应该满足您的要求
rdd1.zip(rdd2)
这将使您的输出为
(0,i hate painting i have white paint all over my hands.)
(0,Bawww I need a haircut No1 could fit me in before work tonight. Sigh.)
(4,I had a great day)
(1,what is life.)
(4,He sings so good)
(1,i need to go to sleep ....goodnight)
zipWithIndex和join
这种方法将提供与上面使用zip
解释的相同的输出(而且这种方法也很昂贵)
我希望答案有帮助0,1,4在同一行吗?rdd2的值是多少?您的预期输出是什么?rdd2有文本。我想将预测的标签从第1行对应地从rdd1映射到rdd2。不同的行有不同的标签。0,1,4是三个类别您能通过给出示例rdd2和预期输出来进一步澄清吗?以下是我正在寻找的输出类型:rdd1 rdd2 0我讨厌绘画我手上涂满了白色油漆1什么是生活?0我需要一部新电话。。。。。我还需要去睡觉!明天去学校。我今天过得很愉快,我想该睡觉了。早上送我的朋友们回俄亥俄州我需要去睡觉。。。。goodnight@RahulAnand你能回答你的问题并把这个示例输出作为格式化代码发布吗?这很难理解为一个评论。