¿Qué deberían aprender los ingenieros de desarrollo de big data?
1. ¿Qué hacen los ingenieros de big data en el trabajo?
Operación y mantenimiento del clúster: instalación, prueba, operación y mantenimiento de varios componentes de big data
Desarrollo de datos: ligeramente desglosado, habrá ingenieros de ETL, ingenieros de almacén de datos, etc.
Desarrollo de sistemas de datos: céntrese en desarrollar sistemas basados en la web, como sistemas de informes, sistemas de recomendación, etc.
Aquí hay una gran cantidad de contenido que en realidad tiene un alto grado de superposición. Hablemos brevemente sobre los requisitos de contenido aproximados para cada bloque A. Qué aprender y los puntos clave.
2. Operación y mantenimiento del clúster
Los ingenieros de datos son básicamente inseparables de la construcción del clúster, como hadoop, Spark y Kafka. No espere que la operación y el mantenimiento dedicados lo ayuden. Introducir nuevos Generalmente tienes que hacer los componentes tú mismo.
Por lo tanto, esto requiere que los ingenieros de datos comprendan varios componentes de big data.
Dado que se han instalado varios componentes de código abierto, los ingenieros de datos deben tener capacidades de Linux, estar familiarizados con Linux y poder jugar con ellos por su cuenta.
Dado que el ecosistema de big data actual es básicamente un sistema JVM, no hay necesidad de dudar en términos de lenguaje. Java y Scala son básicamente inseparables del sistema JVM, y Java básicamente necesita aprenderse en profundidad. Scala depende de la situación.
3. ETL
ETL en el campo de big data se refleja principalmente en el procesamiento de diversos flujos de datos. Por un lado, esto se refleja en la comprensión de algunos componentes, como Sqoop, Flume, Kafka, Spark y MapRece, por otro lado, es la necesidad de lenguajes de programación, siendo Java, Shell y Sql la base; .
4. Desarrollo del sistema
La mayor parte de nuestro valor eventualmente se reflejará a través de sistemas, como sistemas de informes y sistemas de recomendación. Por lo tanto, requiere ciertas capacidades de desarrollo del sistema. El más utilizado es JavaWeb. Por supuesto, Python también es bastante conveniente.
Cabe señalar que el desarrollo general de datos no puede satisfacer diversas necesidades de datos, muchas de las cuales son necesidades temporales y personalizadas. En este caso, no se puede escapar de SQL, por lo que es muy necesario aprender SQL.
¿Cómo empezar?
Los mencionados anteriormente son algunos árboles de habilidades que utilizarán los ingenieros de datos. Aquí hay un punto de partida para todos, que es completamente mi opinión personal.
1. Comprenda la industria
Debe comprenderse a sí mismo y a la industria desde el principio. Muchas personas dicen que quieren cambiar de carrera porque no pueden distinguir entre big data y minería de datos. en la información de contratación. De hecho, es muy irresponsable. No siempre persigas temas candentes. De todos modos, a menudo desprecio cualquier desarrollo de big data que sea demasiado bajo. Para hacer datos, debes realizar minería de datos, de lo contrario siempre será agua.
2. Elige una ruta de aprendizaje
Si realmente sabes que quieres pasarte al desarrollo de datos, debes considerar tu tiempo y energía, cuánto tiempo puedes dedicar y el tiempo que necesitas. El mejor momento para estudiar. Es bueno tener a alguien que te dé más orientación; de lo contrario, será demasiado fácil desviarte.
Tenga cuidado al elegir una ruta de aprendizaje específica. Hay varias opciones:
Autoestudio
Registrarse en una clase
Buscar. Orientación personal
Además, también puedes considerar inscribirte en una clase de tutoría. No esperes que inscribirte en una clase de tutoría te lleve al cielo y a la tierra, pero puedes confiar en él para que te ayude a clasificar. tus ideas. Sería mejor si hubiera personas especializadas en este campo para ayudar. La tecnología no es necesariamente buena, lo más importante es poder comunicar.
3. Ruta de aprendizaje
Ruta de aprendizaje, la siguiente es una sugerencia aproximada:
La primera etapa
Primero tener ciertos conocimientos. de Linux Los conceptos básicos de Java no tienen que ser particularmente profundos. Primero debes poder jugar. Si estás usando Linux, puedes realizar varias operaciones tú mismo. En Java, puedes escribir un pequeño programa. Todas estas cosas están preparadas para construir un entorno Hadoop.
Para aprender Hadoop, primero aprenda a crear una versión independiente de Hadoop, luego aprenda Hadoop distribuido y escriba algunos programas de MR.
Luego, aprenda otros componentes de big data en el ecosistema de Hadoop, como Spark, Hive y Hbase, intente compilarlos y luego ejecute algunas demostraciones oficiales.
Después de tener una cierta base en varios componentes como Linux y Java, necesita tener algo de práctica en proyectos. En este momento, necesita encontrar algunos casos exitosos, como buscar varios tutoriales en video sobre cómo hacerlo. para construir un sistema de recomendaciones y aplicar lo que ha aprendido.
La segunda etapa
Esta es la etapa básica, con una comprensión general del desarrollo de datos. Entonces debería haber algún contenido interesante para elegir.
Sistema de almacenamiento de datos: puede tener una comprensión general de cómo implementar la estratificación de datos y cómo construir un sistema de almacenamiento de datos.
Análisis de usuario e ingeniería de funciones: Cuanto antes comprendas esta parte, mejor.
Algunas ideas de implementación de sistemas: cómo se implementan sistemas como los sistemas de programación, los sistemas de metadatos y los sistemas de recomendación.
La tercera etapa
Hay algunas áreas subdivididas que es necesario realizar en profundidad. Seleccione algunas según el contenido del trabajo y los intereses a realizar en profundidad
<. p> Teoría distribuida: como Gossip, DHT, Paxo, estos protocolos y algoritmos subyacentes que constituyen varios sistemas distribuidos aún deben aprenderse.Algoritmos de minería de datos: Es necesario aprender los algoritmos, pero no son necesariamente teoría pura. Implementar algoritmos en un entorno distribuido es un desafío en sí mismo.
Aprender el código fuente de varios sistemas: como el código fuente de Hadoop, Spark y Kafka. Si desea profundizar en big data, el código fuente no se puede ejecutar.