¿Qué necesitan aprender los ingenieros de big data?
Java: todo el mundo sabe que las direcciones de Java incluyen JavaSE, JavaEE y JavaME. ¿Qué dirección debería estudiar al aprender big data?
Solo necesita aprender la versión estándar de Java, JavaSE, JSP, Tomcat, Struts, Spring, Hibernate y Mybatis, todas ellas tecnologías orientadas a JavaEE que no se utilizan mucho en la tecnología de big data. Por supuesto, todavía necesitas saber cómo conectarte a la base de datos en Java. Debes dominar JDBC. Algunos estudiantes dijeron que Hibernate o Mybites también pueden conectarse a la base de datos. No estoy diciendo que no sea bueno aprenderlos, pero significa que puede llevar mucho tiempo aprenderlos y, al final, no se usan comúnmente en el trabajo. en el procesamiento de big data, por supuesto, si tiene suficiente energía, puede aprenderlos. Para los principios de Hibernate o Mybites, no solo aprenda la API. Esto puede aumentar su comprensión de las operaciones de la base de datos de Java, porque son el núcleo de estos. Dos tecnologías son el reflejo de Java más los diversos usos de JDBC.
Linux: debido a que todo el software relacionado con big data se ejecuta en Linux, necesita aprender Linux de manera más sólida. Aprender bien Linux le será de gran ayuda para dominar rápidamente las tecnologías relacionadas con big data, lo que le permitirá. Una mejor comprensión del entorno operativo y la configuración del entorno de red del software de big data como hadoop, hive, hbase, spark, etc. puede evitar muchos obstáculos. Aprender que el shell puede comprender scripts, lo que facilita la comprensión y configuración de los clústeres de big data. . También le permitirá aprender más rápidamente sobre las nuevas tecnologías de big data que se lanzarán en el futuro.
Ahora que he hablado de los conceptos básicos, hablemos de las tecnologías de big data que aún necesitas aprender. Puedes aprenderlas en el orden en que escribí.
Hadoop: esta es una plataforma popular de procesamiento de big data y casi se ha convertido en sinónimo de big data, por lo que es algo que debes aprender. Hadoop incluye varios componentes HDFS, MapReduce y YARN es donde se almacenan los datos, al igual que el disco duro de nuestra computadora, donde MapReduce procesa y calcula los datos. Siempre que le dé tiempo, puede ejecutar los datos, pero es posible que el tiempo no sea muy rápido, por lo que se denomina procesamiento por lotes de datos. YARN es un componente importante que encarna el concepto de la plataforma Hadoop. Con su ecosistema de big data, se pueden ejecutar otros software en Hadoop, para que podamos aprovechar mejor las ventajas del gran almacenamiento HDFS y ahorrar más recursos. no es necesario simplemente crear un clúster Spark por separado y dejar que se ejecute directamente en el hilo de hadoop
existente. De hecho, si comprende estos componentes de Hadoop, puede procesar big data. Sin embargo, es posible que aún no tenga una idea clara de cuán grandes son los "big data". Escúcheme y no se enrede en esto. En el futuro, cuando comience a trabajar, encontrará docenas de terabytes/cientos de terabytes de datos a gran escala en muchos escenarios. Para entonces, ya no sentirá que los grandes datos son buenos. Cuanto más grandes sean los datos, más dolores de cabeza. lo tendrás. Por supuesto, no tenga miedo de procesar datos a gran escala, porque aquí es donde reside su valor. Deje que aquellos que trabajan en Javaee, PHP, HTML5 y DBA sientan envidia. Recuerde que el aprendizaje aquí puede usarse como un nodo para aprender big data.
Zookeeper: esta es una panacea. Se utilizará al instalar Hadoop HA y Hbase también lo utilizará en el futuro. Generalmente se usa para almacenar información colaborativa. Esta información es relativamente pequeña y generalmente no excede 1 M. El software que la usa depende de ello, solo necesitamos instalarlo correctamente y dejar que se ejecute normalmente. .
Mysql: hemos terminado de aprender el procesamiento de big data. A continuación, aprenderemos la base de datos mysql, una pequeña herramienta de procesamiento de datos, porque se utilizará al instalar Hive. ser dominado? Puede instalarlo en Linux, ejecutarlo, configurar permisos simples, cambiar la contraseña de root y crear una base de datos. Lo principal aquí es aprender la sintaxis de SQL, porque la sintaxis de Hive es muy similar a esta.
Sqoop: Se utiliza para importar datos de Mysql a Hadoop. Por supuesto, también puede omitir esto y exportar directamente la tabla de datos de Mysql a un archivo y luego colocarla en HDFS. Por supuesto, debe prestar atención a la presión de Mysql cuando lo usa en un entorno de producción.
Hive: esto es un artefacto para aquellos que conocen la sintaxis SQL. Puede simplificarle el procesamiento de big data y ya no tendrá que preocuparse por escribir programas MapReduce. Algunas personas dicen ¿Cerdo? Es casi como Pig. Sólo necesitas dominar uno.
Oozie: Ahora que ha aprendido Hive, creo que debe necesitar esto. Puede ayudarlo a administrar sus scripts de Hive o MapReduce, Spark, y también puede verificar si su programa se ejecuta correctamente. es un error, se le informará. Puede enviar una alarma y ayudarlo a volver a intentar el programa. Lo más importante es que también puede ayudarlo a configurar las dependencias de las tareas. Creo que definitivamente te gustará, de lo contrario te sentirás como una mierda cuando mires la gran cantidad de guiones y los densos cronds.
Hbase: Esta es la base de datos NOSQL en el ecosistema Hadoop. Sus datos se almacenan en forma de clave y valor y la clave es única, por lo que se puede utilizar para la deduplicación de datos. Puede almacenar cantidades de datos mucho mayores que MYSQL. Por lo tanto, a menudo se utiliza como destino de almacenamiento una vez completado el procesamiento de big data.
Kafka: esta es una herramienta de colas relativamente fácil de usar. ¿Para qué sirve la cola? ¿Sabías que hay que hacer cola para comprar entradas? Si hay demasiados datos, también es necesario ponerlos en cola para su procesamiento, de modo que otros estudiantes que están colaborando con usted no griten, ¿por qué me diste tantos datos (como cientos de gigabytes de archivos) y cómo puedo hacerlo? manejarlo? No lo culpes porque él Si no estás involucrado en big data, puedes decirle que pongo los datos en la cola y los tomo uno por uno cuando los uso, para que deje de quejarse y se vaya de inmediato. para optimizar su programa porque no se puede procesar lo suyo. No es la pregunta que diste. Por supuesto, también podemos usar esta herramienta para almacenar datos en línea en tiempo real o en HDFS. En este momento, puede usarla con una herramienta llamada Flume, que se usa especialmente para proporcionar un procesamiento simple de datos y escribir varios receptores de datos (. como Kafka).
Spark: se utiliza para compensar las deficiencias en la velocidad de procesamiento de datos basado en MapReduce. Su característica es cargar datos en la memoria para realizar cálculos en lugar de leer el disco duro extremadamente lento. Es particularmente adecuado para operaciones iterativas, por lo que a los streamers de algoritmos les gusta especialmente. Está escrito en escala. Se puede operar con lenguaje Java o Scala, porque ambos usan JVM.
Flink: Acabo de decir que Kafka se puede usar para poner en cola datos, por lo que no podemos procesarlos en oleadas según la cola. ¿Cómo usar Flink para procesarlos uno por uno? hágalo uno por uno. A menudo se lo denomina computación de flujo. Además, Flink también tiene algunos pequeños trucos, como: no tiene que preocuparse por qué hacer si algunos datos se quedan atrás, qué hacer si los datos quieren reunirse para una pequeña reunión, qué hacer si el La formación de datos debe estar en orden, qué hacer si la presión es demasiada, qué hacer una vez. Si accidentalmente caes en una trampa, pueden ayudarte a recuperarte. Además, existen varias operaciones sofisticadas, como serialización, clasificación, ahorro de memoria e incluso cómo ajustar la JVM, todas ellas pensadas para usted.