Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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
Python Spark中的精确字符串近似_Python_Apache Spark_Pyspark_Spark Dataframe_Rdd - Fatal编程技术网

Python Spark中的精确字符串近似

Python Spark中的精确字符串近似,python,apache-spark,pyspark,spark-dataframe,rdd,Python,Apache Spark,Pyspark,Spark Dataframe,Rdd,我正在努力学习火花。我有两个RDD,其格式如下: RDD1 [["James Dean,1"], ["Roger Moore,2"]] RDD2 [["22,1931,James Deen"], ["23,1927,Roger Moor"]] 现在RDD2中的数据可能拼写不正确。我想遍历RDD1,检查每个名称,然后在RDD2中查找所有相似的字符串并更正它们的拼写。我该怎么办? 我是Spark的新手,所以我完全迷路了。在驾驶员处收集rdd2并广播回来。请注意,如果rdd2不适合驱动程序分配的内

我正在努力学习火花。我有两个RDD,其格式如下:

RDD1
[["James Dean,1"], ["Roger Moore,2"]]

RDD2
[["22,1931,James Deen"], ["23,1927,Roger Moor"]]
现在RDD2中的数据可能拼写不正确。我想遍历RDD1,检查每个名称,然后在RDD2中查找所有相似的字符串并更正它们的拼写。我该怎么办?
我是Spark的新手,所以我完全迷路了。

在驾驶员处收集rdd2并广播回来。请注意,如果rdd2不适合驱动程序分配的内存,则会出现OOM错误。既然你提到了,这是一个学习练习,我想,你的RDD不是太大

bc_var = rdd2.collect()  
v = sc.broadcast(bc_var)  

def fix_spelling(row):  
    name, id = row  
    for day, year, old_name in v.value:  
        new_name = compare(name, old_name) # compare name with old_name & determine if old_name needs to be fixed. 
    yield [day, year, new_name, old_name, name]  

rdd.flatMap(fix_spelling)

查找编辑距离。在使用Spark之前,请先尝试用Python(或Scala)解决这个问题。