camachojua / diplomado-ia

Repositorio de discusión para el diplomado de inteligencia artificial
GNU Lesser General Public License v2.1
15 stars 18 forks source link

Implementación de un programa de pre-procesamiento de archivos enormes #9

Open camachojua opened 2 weeks ago

camachojua commented 2 weeks ago

¿Qué tenemos que hacer?

Dentro de la ruta go/src/student_submissions/movielens/ tenemos declarado un módulo llamado movielens que contiene un paquete con nombre fileprocessing, acá tenemos los siguientes archivos:

La 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.

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 directorio directory 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:

Para ejecutar la prueba tienen que:

  1. Abrir una terminal
  2. Ingresar al directorio go/src/student_submissions/movielens/
  3. Ejecutar el comando go test
  4. Si su implementación fue correcta deberían de ver algo como:
    $ go test
    PASS
    ok      movielens       0.002s
  5. De lo contrario recibiran un mensaje de error.

¿Qué hago después de que tengo una implementación que pasa el test?

  1. Hacer fork de este repositorio.
  2. Crear un PR con el código de la solución.
  3. El código debe de estar bajo el directorio go/src/student_submissions/movielens/apellido_nombre donde apellido_nombre es el apellido y nombre del autor(es) correspondiente(s).
azucenacg commented 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?

camachojua commented 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?

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.