Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 连接RDD中的特定行_Hadoop_Apache Spark_Pyspark - Fatal编程技术网

Hadoop 连接RDD中的特定行

Hadoop 连接RDD中的特定行,hadoop,apache-spark,pyspark,Hadoop,Apache Spark,Pyspark,我有这样一个RDD: [('anger', 166), ('lyon', 193), ('marseilles_1', 284), ('nice', 203), ('paris_2', 642), ('paris_3', 330), ('troyes', 214), ('marseilles_2', 231), ('nantes', 207), ('orlean', 196), ('paris_1', 596), ('rennes', 180), ('toulouse',

我有这样一个RDD:

[('anger', 166),
 ('lyon', 193),
 ('marseilles_1', 284),
 ('nice', 203),
 ('paris_2', 642),
 ('paris_3', 330),
 ('troyes', 214),
 ('marseilles_2', 231),
 ('nantes', 207),
 ('orlean', 196),
 ('paris_1', 596),
 ('rennes', 180),
 ('toulouse', 177)]
我需要将
paris\u 1
paris\u 2
paris\u 3
合并成一行,名为
paris

我完全不知道如何进行,也没有找到任何答案


您能帮助我吗?

您可以使用正则表达式从当前关键字值中获取城市名称,然后按关键字减少:

重新导入
rdd\
.map(lambda l:(re.sub('[_0-9]','',l[0]),l[1]))\
.reduceByKey(λx,y:x+y)\
[(‘愤怒’,166),
(‘里昂’,193年),
('nice',203),
(《巴黎》,1568年),
('troyes',214),
(《马赛》,515),
('nantes',207),
('orlean',196年),
('rennes',180),
('toulouse',177)]

您可以使用正则表达式从当前键值中获取城市名称,然后按键减少:

重新导入
rdd\
.map(lambda l:(re.sub('[_0-9]','',l[0]),l[1]))\
.reduceByKey(λx,y:x+y)\
[(‘愤怒’,166),
(‘里昂’,193年),
('nice',203),
(《巴黎》,1568年),
('troyes',214),
(《马赛》,515),
('nantes',207),
('orlean',196年),
('rennes',180),
('toulouse',177)]

是否要在此RDD的基础上进行缩减?但是用很少的键对吗?你想在这个RDD上做一个reduce吗?但是钥匙很少,对吗?