Une itération à travers une Étincelle CA

De départ avec une Étincelle DataFrame de créer un vecteur de la matrice pour de plus amples traitement des analyses.

feature_matrix_vectors = feature_matrix1.map(lambda x: Vectors.dense(x)).cache()
feature_matrix_vectors.first()

La sortie est un tableau de vecteurs. Certains de ces vecteurs ont une valeur null dans leur

>>> DenseVector([1.0, 31.0, 5.0, 1935.0, 24.0])
...
>>> DenseVector([1.0, 1231.0, 15.0, 2008.0, null])

De ce que je veux parcourir le vecteur de la matrice et de créer un LabeledPoint tableau avec des 0 (zéro) si le vecteur contient une valeur null, sinon avec un 1.

def f(row):
    if row.contain(None):
       LabeledPoint(1.0,row)
    else:
       LabeledPoint(0.0,row)

J'ai essayé de parcourir le vecteur de la matrice à l'aide de

feature_matrix_labeledPoint = (f(row) for row in feature_matrix_vectors) #   create a generator of row sums
next(feature_matrix_labeledPoint) # Run the iteration protocol

mais cela ne fonctionne pas.

TypeError: 'PipelinedRDD' object is not iterable

Toute aide serait super

Ceci AFIN de répondre a l'détails stackoverflow.com/a/25296061/429476

OriginalL'auteur Eoin Lane | 2015-06-29