Open camachojua opened 2 weeks ago
Estoy usando el codigo de las dispositivas 53-55, en donde (hasta donde he entendido) se usan archivos csv puesto que los métodos de la libreria Dataframe se aplican en este tipo de archivos. ¿Aún asi se debe hacer el codigo de filefrag para convertir los archivos a parquet? ¿o puedo hacer el codigo de filefrag para solo dividir el csv general en 10 partes?
Estoy usando el codigo de las dispositivas 53-55, en donde (hasta donde he entendido) se usan archivos csv puesto que los métodos de la libreria Dataframe se aplican en este tipo de archivos. ¿Aún asi se debe hacer el codigo de filefrag para convertir los archivos a parquet? ¿o puedo hacer el codigo de filefrag para solo dividir el csv general en 10 partes?
La conversión a parquet es un paso "extra" que no es necesario para este ejercicio, sin embargo se recomienda su implementación porque es algo que se utiliza en la industria.
Con el código para framentar el archivo bastará por el momento.
¿Qué tenemos que hacer?
Dentro de la ruta
go/src/student_submissions/movielens/
tenemos declarado un módulo llamadomovielens
que contiene un paquete con nombrefileprocessing
, acá tenemos los siguientes archivos:file_splitting.go
file_splitting_test.go
go.mod
test
<- Directorio que contiene un archivo.csv
de pruebaLa idea es que implementen el código de división del archivo en
file_splitting.go
de acuerdo a los criterios listados más abajo.Implementar un método llamado
SplitBigFile
que recibe 3 argumentos: un nombre de archivo, el número de archivos totales a generar y un directorio.file_name
) Es el nombre del archivo.csv
original que descargamos desde movielens.number_of_chunks
) Es el número total de partes en las que dividiremos el archivo.csv
original.directory
) Directorio/Carpeta donde se encuentra el archivo.csv
, el directorio se utilizará para guardar los archivos resultantes.El método debe de retornar un slice de cadenas (
[]string
) que contiene el nombre de los archivos que se acaban de generar, recuerden que dichos archivos deben de guardarse en el directoriodirectory
que pasamos como argumento a la función.¿Cómo saber si tenemos la respuesta "correcta"?
La prueba generada (
file_splitting_test.go
) sólo verifica 2 cosas:SplitBigFile
genera tantos archivos comonumber_of_chunks
.test/
espera que cada uno de los archivos generados porSplitBigFile
tenga una longitud similar.Para ejecutar la prueba tienen que:
go/src/student_submissions/movielens/
go test
¿Qué hago después de que tengo una implementación que pasa el test?
go/src/student_submissions/movielens/apellido_nombre
dondeapellido_nombre
es el apellido y nombre del autor(es) correspondiente(s).