[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