使用Lamp Python在Spark Python 3.5中解压zip

时间:2018-10-21 15:02:26

标签: apache-spark lambda zip python-3.5 rdd

此代码可在python 2.x上正常工作的问题n Apache中新的python 3.5引发了如何查找有关此问题的工作,执行元组串联。 代码。

 from pyspark.mllib.stat import Statistics
    import random
    column1 = sc.parallelize(range(100))
    column2 = sc.parallelize(range(100,200))
    column3 = sc.parallelize(list(reversed(range(100))))
    column4 = sc.parallelize(random.sample(range(100),100))
    data = column1.zip(column2).zip(column3).zip(column4).map(lambda (((a,b),c),d) : (a,b,c,d) ).map(lambda (a,b,c,d) : [a,b,c,d])
    print(Statistics.corr(data))

错误

 File "<ipython-input-19-e505a170fcab>", line 7
    data = column1.zip(column2).zip(column3).zip(column4).map(lambda (((a,b),c),d) : (a,b,c,d) ).map(lambda (a,b,c,d) : [a,b,c,d])
                                                                     ^
SyntaxError: invalid syntax

通常当这项工作只有两个部分时

rdd.map(lambda x_y: (x_y[1],  x_y[0]) 

但是具有这样的元组((((a,b),c),d)如何做到

1 个答案:

答案 0 :(得分:0)

您可以替换:

jooq-codegen

.map(lambda (((a,b),c),d) : (a,b,c,d) ) \ 
.map(lambda (a,b,c,d) : [a,b,c,d])