Apache Spark vs Hadoop son dos de los productos más importantes y conocidos de la familia de Big Data.
Aunque hay quienes ven estos dos frameworks como competidores en el espacio de big data, no es tan fácil hacer una comparación Spark vs Hadoop. Hacen muchas cosas igual, pero hay algunas áreas donde ambos no se superponen. Por ejemplo, Apache Spark no tiene sistema de archivos y, por lo tanto, depende del sistema de archivos distribuido de Hadoop.
Si revisas Google Trends, podrás ver que Hadoop tiene más popularidad en comparación con Apache Spark. Pero a pesar de esto, empresas como Yahoo, Intel, Baidu, Trend Micro y Groupon ya están utilizando Apache Spark.
Apache Spark vs Hadoop son comparables en diferentes parámetros. ¿Quieres saber cuáles son los campos que marcan la diferencia?
La resolución de enigma Spark vs Hadoop está servida en tres claves:
a) Usabilidad. Una de las cuestiones más habituales al contrastar ambos frameworks está relacionada con su facilidad de uso. ¿Cuál es más user friendly? ¿Spark vs Hadoop? En este caso Apache Spark superaría a su contrincante puesto que viene equipado con APIs realmente sencillas para Scala, Python, Java y Spark SQL. Además, aporta feedback en formato REPL sobre los comandos. Por su parte, si bien es verdad que MapReduce tiene complementos como Pig y Hive que lo hacen algo más fácil de usar, al final lo que sucede es que la lógica simple necesita más programación (los programas deben estar escritos en Java), por lo que lo que se gana en usabilidad por una parte quedaría perdido por otra.
b) Rendimiento. Este punto quizás sea el más complicado de resolver en cualquier comparativa Spark vs Hadoop. La cuestión es que, como ambos procesan los datos de manera diferente, no es nada fácil determinar quién logra un mayor desempeño. Para tomar una decisión habría que tener en cuenta que:
En lo que respecta a Spark:
En el caso de Hadoop:
Tal vez te interese leer:
¿Qué es Big Data Hadoop y para qué sirve?
c) Seguridad. Si en usabilidad Spark vencía a Hadoop, en este caso no tiene nada que hacer. Hadoop no tiene rivales ya que:
Por su parte, Spark necesita ejecutarse en HDFS para acceder a permisos de nivel de archivo y, además, para obtener beneficios de seguridad ha de recurrir a Hadoop YARN.
Pero entonces, ¿quién puede considerarse vencedor de la competición Spark vs Hadoop? Cada uno domina al otro en distintas áreas. Por ejemplo, Hadoop sería la elección acertada cuando el tamaño de la memoria es significativamente menor que el tamaño de los datos; pero, si se busca rapidez, no cabría plantearse otra opción que Spark. ¿Con cuál te quedas? ¿Crees que Spark podría terminar sustituyendo a MapReduce? ¿Te parece más factible que Hadoop continúe disfrutando de su hegemonía?