[pyar] Transformando CSV en lista

Alfonso Rey alfonso.rey en gmail.com
Mie Mayo 25 08:43:50 ART 2016


Buenos días a todos,

estoy realizando un ejercicio para clase en el que cargo un archivo
csv en un RDD con sc.textfile

variable = sc.textfile("hdfs://localhost:9000/user/hadoop/file.csv")

Si hago un print type(variable.first()) me sale <type 'unicode'>

Me piden separar los elementos del RDD en una lista de elementos
unicode así que he hecho lo siguiente:

variable_parsed = variable.map(lambda line: line.split(",")) y obtengo

[u'B02617',u'2015-05-17
09:47:00',u'B02617',u'141',u'Manhattan',u'Lenox Hill West']


Lo que veo es que el csv no tiene cabeceras y no sé si debería
añadirlas o definir las columnas. Otra duda que tengo es como
referenciar a un elemento de una línea/columna. Quiero decir, si
quiero sacar el campo 1, el de la fecha supongo, de la primera linea,
¿cómo los puedo referenciar?

Y lo último ya sin querer abusar... debería haber convertido un DF
como sugieren en starckoverflow?

http://stackoverflow.com/questions/29936156/get-csv-to-spark-dataframe

Read the csv file in to a RDD and then generate a RowRDD from the original RDD.

Create the schema represented by a StructType matching the structure
of Rows in the RDD created in Step 1.

Apply the schema to the RDD of Rows via createDataFrame method
provided by SQLContext.


Employee_df = Employee_rdd.toDF(['Employee_ID','Employee_name'])

Tengo varios manuales pero no consigo ver este ejemplo en concreto si
no más bien listas con valores ya asignados a mano y no tras cargar
valores de un CSV


Muchas gracias a todos de antemano.
-- 
Alfonso Rey
alfonso.rey en gmail.com


Más información sobre la lista de distribución pyar