在一个RDD中连接两个字符串以在pysp中形成新的RDD

2024-09-28 17:29:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个rdd&;在应用collection之后,如下所示

rdd = [('Amazon', '2016/01/09', '17:06:24', '17:10:03'),('Amazon', '2016/02/09', '17:06:55', '17:10:00'),('Amazon', '2016/02/09', '17:10:02', '17:19:00'),('Amazon', '2016/02/09', '17:13:09', '17:19:00'),('Aliexpress', '2016/03/09', '17:00:40', '17:23:00'),('Aliexpress', '2016/03/09', '17:03:50', '17:12:05'),('Aliexpress', '2016/03/09', '17:10:12', '17:12:38'),('Aliexpress', '2016/03/09', '17:13:23', '17:23:00')]

但是我想以这样一种方式转换rdd,即在应用collection之后,我希望看到如下所示的输出

Newrdd = [('Amazon 01','17:06:24', '17:10:03'),('Amazon 02','17:06:55', '17:10:00'),('Amazon 02','17:10:02', '17:19:00'),('Amazon 02','17:13:09', '17:19:00'),('Aliexpress 09', '17:00:40', '17:23:00'),('Aliexpress 03', '17:03:50', '17:12:05'),('Aliexpress 03','17:10:12', '17:12:38'),('Aliexpress 03', '17:13:23', '17:23:00')]

例如,我想加入Amazon0101是月份,来自'2016/01/09')

我确实喜欢这样

Newrdd = rdd.map(lambda y: y[0].join((y[1].split('/')[1])))
print(Newrdd.collect())

但是我没有得到想要的输出集合。谁能告诉我为什么


Tags: lambdamapamazon方式collectionampsplitcollect