¿Qué base se necesita para aprender Spark? ¿Qué aprender primero?
La primera etapa: dominar el lenguaje Scala de manera competente
1. El marco Spark está escrito en el lenguaje Scala, que es refinado y elegante. Si desea convertirse en un maestro de Spark, debe leer el código fuente de Spark y dominar Scala
2. Aunque Spark ahora puede usar Java, Python, etc. en varios idiomas para el desarrollo de aplicaciones; end La API de desarrollo rápida y con mejor soporte sigue siendo y siempre será la API de Scala, por lo que debes dominar Scala para escribir programas distribuidos Spark complejos y de alto rendimiento;
3. Especialmente ser competente en él. Rasgos de Scala, aplicación, programación funcional, genéricos, contravarianza y covarianza, etc.;
Segunda etapa: Dominar la API proporcionada por la propia plataforma Spark a los desarrolladores
1. Dominar RDD- modelo de desarrollo orientado en Spark, domine el uso de varias funciones de transformación y acción
2. Domine las dependencias amplias, las dependencias estrechas y el mecanismo de linaje en Spark
3. Domine el cálculo; proceso de RDD, como la división de la etapa, el proceso básico de envío de aplicaciones Spark al clúster y el principio de funcionamiento básico de los nodos trabajadores, etc.
La tercera etapa: profundizar en el kernel Spark
Esta etapa se profundiza principalmente a través de la lectura del código fuente del marco Spark:
1. Domine el proceso de envío de tareas de Spark a través del código fuente
;2. Domine la programación de tareas del clúster Spark a través del código fuente;
3. En particular, domine los detalles de cada paso del trabajo interno de los nodos DAGScheduler, TaskScheduler y Worker;
El cuarto nivel: dominar el uso de marcos centrales basados en Spark
Spark, como maestro en la era de la computación en la nube y big data, tiene ventajas significativas en el flujo en tiempo real. procesamiento, tecnología de gráficos, aprendizaje automático, consultas NoSQL, etc. Usamos Spark la mayor parte del tiempo, como Shark, Spark Streaming, etc.:
1. Spark Streaming es una excelente transmisión en tiempo real. marco de procesamiento, y necesita dominar su DStream, transformación, punto de control, etc.
2. Función de análisis estadístico fuera de línea de Spark, Spark versión 1.0.0 lanzó Spark SQL basado en Shark La eficiencia de las estadísticas fuera de línea. la función de análisis se ha mejorado significativamente y es necesario dominarla.
3. Para el aprendizaje automático de Spark, GraphX y otros deben dominar sus principios y uso;
El quinto nivel; : hacer proyectos Spark a nivel comercial
A través de un proyecto Spark completo y representativo, se cubren todos los aspectos de Spark, incluido el dominio completo de cada etapa y detalle del diseño arquitectónico del proyecto, el análisis de las tecnologías utilizadas, el desarrollo y implementación, operación y mantenimiento, etc., para que puedas afrontar con tranquilidad la mayoría de proyectos Spark en el futuro.
El sexto nivel: proporcionar soluciones Spark
1. Dominar a fondo cada detalle del código fuente del marco Spark
2. Según las necesidades de diferentes negocios; escenarios Proporcionar soluciones Spark en diferentes escenarios
3. Según las necesidades reales, realizar un desarrollo secundario basado en el marco Spark y crear su propio marco Spark
? p>;