Paralelización
Existen varias soluciones para distribuir el procesamiento, sin mencionar las características de Hadoop (o Spark), que permiten encapsular los mecanismos de paralelización destinados a los datos masivos. Para distribuir la carga de cálculo, podemos imaginar que es posible lanzar varios procesos R o trabajar con varios procesadores en una sola máquina y, que en un conjunto de máquinas es posible trabajar con clústeres vinculados por mecanismos de bajo nivel o por una distribución trivial de procesamientos (invocando máquinas remotas en modo remote).
Hay varios frameworks para administrar la distribución en varias máquinas: en el entorno R, a menudo usamos snow o nws. Un paquete de más alto nivel encapsula varios mecanismos y no requiere habilidades específicas (si los clústeres están instalados). El siguiente ejemplo presenta el paquete llamado future. El término future se refiere a que la programación paralela consiste en instanciar operaciones de manera paralela, cuyos resultados esperamos más adelante, cuando estén disponibles. Tenga en cuenta que el uso de bucles foreach del paquete homónimo también permite administrar correctamente la división de los futures, además de varios paquetes relacionados con la paralelización. future Paquete:future...