Tengo grandes cantidades de datos (unos pocos terabytes) y acumulando ... Están contenidos en muchos archivos de texto plano delimitados por tabuladores (cada uno de aproximadamente 30 MB). La mayor parte de la tarea implica leer los datos y agregar (sumando/promediando + transformaciones adicionales) sobre las observaciones/filas basadas en una serie de declaraciones de predicados, y luego guardar la salida como archivos de texto, HDF5 o SQLite, etc. Normalmente uso R para tales tareas, pero me temo que esto puede ser un poco grande. Algunas soluciones candidatas son agran cantidad de datos en muchos archivos de texto: ¿cómo procesarlos?
- escribir toda la cosa en C (o Fortran)
- importar los archivos (tablas) en una base de datos relacional directa e a continuación, saque trozos en R o Python (algunos de las transformaciones no son susceptibles de soluciones SQL puros)
- escribir toda la cosa en Python
Te (3) sea una mala idea? Sé que puede ajustar las rutinas C en Python, pero en este caso, dado que no hay nada computacionalmente prohibitivo (por ejemplo, rutinas de optimización que requieren muchos cálculos iterativos), creo que la E/S puede ser un cuello de botella tan importante como el cálculo. ¿Tiene alguna recomendación sobre consideraciones o sugerencias adicionales? Gracias
Editar Gracias por su respuesta. Parece haber opiniones contradictorias sobre Hadoop, pero en cualquier caso no tengo acceso a un clúster (aunque puedo usar varias máquinas sin red) ...
Gran pregunta, este parece ser el mismo problema que estoy teniendo con los datos de secuencia biológica. – Stedy