Me gustaría convertir pyspark.sql.dataframe.DataFrame a pyspark.rdd.RDD[String]

Me convertí en un DataFrame df a RDD data:

data = df.rdd
type (data)
## pyspark.rdd.RDD 

la nueva RDD data contiene Row

first = data.first()
type(first)
## pyspark.sql.types.Row

data.first()
Row(_c0=u'aaa', _c1=u'bbb', _c2=u'ccc', _c3=u'ddd')

Me gustaría convertir Row a la lista de String , como el ejemplo a continuación:

u'aaa',u'bbb',u'ccc',u'ddd'

Gracias

InformationsquelleAutor Toren | 2016-02-17

1 Comentario

  1. 14

    PySpark Row es sólo un tuple y puede ser utilizado como tal. Todo lo que usted necesita aquí es un simple map (o flatMap si desea acoplar las filas) con list:

    data.map(list)

    o si se espera que los distintos tipos:

    data.map(lambda row: [str(c) for c in row])
    • Gracias @zero323 con sus respuestas mi curva de aprendizaje va mejor

Dejar respuesta

Please enter your comment!
Please enter your name here