¿Cuál debería aprender un científico de datos a administrar mejor los datos masivos: Hadoop o Spark?

Responderé a esta pregunta, ya que recientemente realicé una buena cantidad de estudios para diseñar el currículo del curso para Big Data, ya que estamos lanzando los cursos en Digital Vidya. Mi confusión surgió del hecho de que no es posible aprender tantas habilidades al mismo tiempo en el nivel y profundidad adecuados. Vengo de más de 19 años de experiencia en tecnología de software; ensayó diferentes roles, y comprenda lo importante que es que un candidato sea capaz de aportar un cierto nivel de profundidad, claridad al presentarse para entrevistas técnicas y luego formar parte del equipo. El relleno del curriculum vitae es casi siempre un elemento disuasivo.

Mi confusión llegó a su punto máximo al ver muchos currículos que ofrecen todas las tecnologías en un paquete. Cuando hablé con los especialistas en la industria que trabajaban en proyectos de Big Data, surgió la claridad y, como esperaba, siempre es mejor tener una especialización para ser un colaborador importante de un proyecto. La ampliación de habilidades es importante, pero eso no se puede hacer de una sola vez, como un gran mash-up.

Con el contexto anterior, para que el lector pueda seguir el razonamiento, hemos diseñado dos especializaciones, y esto respondería la pregunta más directamente sobre qué aprender.

a) Big Data Engineer – Especialización para personas con antecedentes en SQL. Modelado ETL, Hive, Pig, Flume, Sqoop, Spark SQL

b) Ingeniero de aplicaciones de Big Data – Especialización para personas con antecedentes en desarrollo / programación. Análisis en tiempo real, fundamentos de Apache Spark, Spark Advanced, Spark ML, integración con Kafka y Hive.

La base de Hadoop que incluye conocimiento de agrupación en clústeres, HDFS y una base de datos NOSQL está cubierta para que todos se aseguren de que las personas entiendan el marco básico para Big Data.

Un científico de datos, considerando su propia experiencia, toma una decisión. Si juegas bien en SQL, opta por el conjunto de habilidades de Big Data Engineer o si te gusta resolver problemas y hacer modelos ML, querrás adquirir las habilidades en Spark y su ecosistema.

De acuerdo con la demanda actual de la industria, le sugeriré que continúe aprendiendo tanto Hadoop como Spark, ya que esta es la tecnología más exigente en estos días con grandes aperturas en todo el mundo. El paquete para esta combinación es mayor en comparación con Hadoop along o Spark solo.

Hay muchas maneras de aprender Hadoop y Spark en línea. Puedes aprenderlo solo viendo videos gratuitos disponibles en la red y leyendo material gratuito. o puedes hacerlo uniéndote a cualquier entrenamiento en línea.

Mira a continuación los videos para aprender los conceptos básicos de Hadoop y Spark:

Una vez que haya terminado con la introducción, necesita aprender más sobre Hadoop y sus componentes del ecosistema que puede hacer a través de los enlaces a continuación:

Sumérgete en Big Data Hadoop para dominar la última tecnología

Hadoop HDFS Tutorial – Introducción a HDFS, arquitectura, características y operaciones

Tutorial de Hadoop MapReduce – Una guía completa

Tutorial integral de Hadoop YARN: otro negociador de recursos más

Encontrará varios otros artículos sobre esta tecnología en el siguiente enlace:

Blogs de DataFlair

Si quieres aprenderlo a través de la clase en línea, te sugeriré que vayas con DataFlair, ya que ofrecen un curso orientado al trabajo al 100% que te ayudará a encontrar la compañía de tus sueños.

No he encontrado herramientas de código abierto que pueda usar como científico de datos en Hadoop simple. Si desea un conjunto de herramientas más completo, desea ir con algo como Apache Spark. Le proporciona un marco decente para implementar algoritmos. También hay algos proporcionados por su biblioteca de aprendizaje automático, MLLib. Apache Spark funciona de forma independiente y en Hadoop. En este último caso, guarda sus datos en Hadoop y los procesa con chispa.

Ambas son plataformas de procesamiento de datos que pueden procesar datos en gran cantidad de máquinas simultáneamente. Hadoop es una plataforma de datos más antigua basada en MapReduce. El problema con Hadoop es que almacena resultados intermedios en el disco, lo que significa que si hay 5 o 10 tareas mapreduce en un solo trabajo, cada paso recuperará sus datos del disco y, después del procesamiento, almacenará su salida en el disco para la próxima mapreduce. Esto ralentiza el trabajo en general. Ahí es donde entra en juego Apache Spark. Spark mantiene los resultados intermedios dentro de la memoria o RAM, lo que hace que el procesamiento general sea más rápido en comparación con Hadoop. Aquí está mi artículo que trata sobre las capacidades de procesamiento de datos distribuidos de Apache Spark

https://www.linkedin.com/pulse/p

Pero en lo que respecta a la pregunta, tanto el científico de datos como Apache Hadoop como Spark pueden utilizarlo.

Como tomar sopa con un tenedor y comer fideos con cuchillo no son las mejores opciones … Es lo mismo con estas tecnologías … No hay una solución única para todos los enfoques. Cada una de estas tecnologías / herramientas / marcos tienen sus casos de uso de nicho (no siempre son independientes, ya que a veces también se superponen muchos de los casos de uso) … Pero cuál aprendes o cuál usas dependen del problema en cuestión.

Así que elige sabiamente según el requisito y vive bien.