Escrito para principiantes, un artículo para comprender el aprendizaje de big data, trabajos, entrevistas y currículos

Recientemente, cuando un lector conversó conmigo en privado, descubrió que hay muchos recién graduados y principiantes. Tienen grandes problemas sobre cómo aprender big data, cómo entrevistar para big data y cómo escribir currículums. Hoy hablaremos sobre grandes datos algunas cosas.

Escrito en el frente: Los métodos de aprendizaje de cada persona pueden ser diferentes, y es mejor encontrar el que más le convenga. Los siguientes son solo algunos de mis resúmenes y mi experiencia en el aprendizaje de big data. Tengan paciencia unos con otros, aprendan unos de otros y progresar juntos, muchas gracias!

Respondí una pregunta similar en Zhihu antes. Alguien 大数据工程师的日常工作内容是干嘛?me preguntó. Después de verla, la respondí a voluntad. Primero hablé sobre lo que hace Big Data en mi vida diaria, y luego hablé sobre cómo prepararme para entrevistas de Big Data y cómo estudiar para la universidad Datos y demás, no esperaba que la respuesta fuera tan buena, capturas de pantalla de algunos comentarios:

Hoy responderé a una ola de mi corazón y reorganizaré el contenido de la respuesta de Zhihu.

1. Aprendizaje de grandes datos

Cómo aprender big data, qué aprender y qué no aprender es una de las preguntas más frecuentes de todos, muchos estudiantes también preguntan a las instituciones de formación que hay demasiados marcos, si deben dominarlos, y luego analizaremos ellos uno por uno.

Desde que Hadoop se convirtió en el proyecto de nivel superior de Apache en 2008, Big Data ha dado paso a un desarrollo rápido y sistemático. Han pasado más de una docena de años. En estos años, los marcos de Big Data han surgido uno tras otro, que pueden describirse como "las flores gradualmente se vuelven encantadoras". , Hay tantos marcos, ¿cómo debo aprender?

Podemos pensar en lo que es todo el proceso de big data, desde la recopilación de datos -> almacenamiento de datos -> procesamiento de datos -> aplicación de datos , más una programación de tareas . Hay muchos marcos de big data correspondientes para cada proceso, es más importante para nosotros aprender uno o dos de ellos, es decir, los marcos que más usan las empresas.

Recopilación de datos : Es recopilar datos de otras plataformas a nuestra plataforma de big data. Solo se encarga de recopilar datos. Por lo tanto, los requisitos del marco para este proceso son poder utilizarlo. Herramientas de recopilación de registros como Flume , big data. plataformas y bases de datos tradicionales (mysql, Postgresql...) para transferir datos entre herramientas como Sqoop , podemos usarla, esta herramienta además es muy rápida de usar, y no tiene funciones demasiado complicadas.

Almacenamiento de datos : el almacenamiento de datos es más importante. La popularidad de los grandes datos tiene mucho que ver con el rápido desarrollo del almacenamiento de datos distribuidos a gran escala. Por supuesto, hay muchos marcos de almacenamiento de datos. Diferentes marcos tienen diferentes funciones. Uno: Hadoop HDFS , sistema de archivos distribuido, el nacimiento de HDFS, resolvió el problema de almacenamiento de datos masivos, pero un excelente sistema de almacenamiento de datos debe considerar tanto el almacenamiento de datos como los problemas de acceso, por ejemplo, desea poder acceder a los datos aleatoriamente, que es en qué son buenas las bases de datos relacionales tradicionales, pero no en qué son buenos los sistemas de archivos distribuidos. ¿Existe una solución de almacenamiento que pueda combinar las ventajas de los sistemas de archivos distribuidos y las bases de datos relacionales? Sobre la base de este requisito, se produjeron , etc.MongoDB,HBase .

Procesamiento de datos : la parte más importante de Big Data es el procesamiento de datos, que generalmente se divide en dos tipos: procesamiento por lotes y procesamiento continuo.

  • Procesamiento por lotes: procesamiento unificado de datos masivos fuera de línea durante un período de tiempo, los marcos de procesamiento correspondientes incluyen Hadoop MapReduce , Spark , Flink , etc.;

  • Procesamiento de transmisión: procesa los datos en movimiento, es decir, procesa los datos mientras los recibe. Los marcos de procesamiento correspondientes incluyen Spark Streaming , Flink , etc.

El procesamiento por lotes y el procesamiento continuo tienen sus propios escenarios aplicables. El procesamiento por lotes se puede usar porque el tiempo es insensible o los recursos de hardware son limitados.

El procesamiento de flujo se puede utilizar cuando la sensibilidad al tiempo y los requisitos de puntualidad son elevados. A medida que el precio del hardware del servidor es cada vez más bajo y los requisitos de puntualidad de todos son cada vez más altos, el procesamiento de flujo se vuelve cada vez más común, como la previsión de precios de acciones y el análisis de datos de operaciones de comercio electrónico.

Big data es un ecosistema muy completo, y hay soluciones cuando hay demanda. Para permitir que las personas que están familiarizadas con SQL realicen procesamiento y análisis de datos, han surgido marcos de consulta y análisis, como Hive , Spark SQL , Flink SQL , Phoenix , etc. Estos marcos pueden usar SQL estándar o sintaxis similar a SQL para consultar y analizar datos de manera flexible.

Estos SQL se analizan, optimizan y convierten en los programas de trabajo correspondientes para ejecutar. Por ejemplo, Hive esencialmente convierte SQL en trabajos MapReduce o Spark, y Phoenix convierte consultas SQL en uno o más escaneos HBase.

Otro marco que se usa ampliamente en el procesamiento de flujos de big data es Kafka . Kafka es un sistema de mensajería de publicación y suscripción distribuida de alto rendimiento. Se puede usar para reducir los picos y evitar el daño simultáneo de los datos en los programas de procesamiento de flujo en escenarios como picos. .

Aplicación de datos : los datos procesados ​​se pueden generar para aplicaciones, como pantallas visuales, decisiones comerciales de conducción, algoritmos de recomendación, aprendizaje automático, etc.

Programación de tareas : otro problema importante en el procesamiento complejo de big data es cómo programar múltiples trabajos complejos y dependientes. En base a esta demanda, se produjeron marcos de programación de flujo de trabajo como Azkaban y Oozie .

Al mismo tiempo, para las necesidades de gestión de recursos de clúster , se deriva Hadoop YARN , un marco de programación de recursos.

Para garantizar la alta disponibilidad del clúster, se requiere ZooKeeper , que es el servicio de coordinación distribuida más utilizado, puede resolver la mayoría de los problemas del clúster, incluida la elección del líder, la recuperación de fallas, el almacenamiento de metadatos y su garantía de consistencia.


Anteriormente, en el análisis del proceso de procesamiento de big data, hemos hablado sobre los marcos de trabajo comúnmente utilizados, que son básicamente los marcos de trabajo más utilizados en big data, intente dominarlos todos.

La mayoría de los marcos anteriores están escritos en Java, y algunos están escritos en Scala, por lo que los lenguajes que debemos dominar son Java y Scala , para que podamos desarrollar aplicaciones relacionadas y leer el código fuente.

Resumir

A continuación resumimos los marcos clave:

  • Idioma: Java y Scala (los idiomas son principalmente estos dos y deben dominarse)
  • Linux (requiere cierta comprensión de Linux)
  • Hadoop (necesita comprender la capa inferior y poder comprender el código fuente)
  • Hive (utilizará, comprenderá los principios de conversión y optimización de SQL subyacentes)
  • Spark (puede desarrollarse. Comprender el código fuente)
  • Kafka (usará, comprenderá los principios subyacentes)
  • Flink (puede desarrollar. Tener una comprensión del código fuente)
  • HBase (entender los principios subyacentes)
  • Zookeeper (usará, es mejor entender el principio)
  • Sqoop , Flume , Oozie/Azkaban (puedes usarlo)

Si va en dirección a varios almacenes, debe dominar las siguientes habilidades:

  • Construcción de almacén de datos fuera de línea (construir almacén de datos, especificación de modelado de almacén de datos)
  • Modelado dimensional (los métodos de modelado comúnmente utilizados incluyen el modelado de paradigmas y el modelado dimensional, centrándose en el modelado dimensional)
  • Arquitectura de almacenamiento de datos en tiempo real (dos arquitecturas de almacenamiento de datos: arquitectura Lambda y arquitectura Kappa)

Ya sea sin conexión o en tiempo real, la máxima prioridad es: SQL . ¡Encuentra más preguntas de SQL para practicar!


Después del trabajo, hay tiempo para aprender el motor de consulta OLAP más popular:

Impala Presto, Druida, Kudu, ClickHouse Doris

Si todavía tiene tiempo, aprenda sobre la calidad y el gobierno de los datos .

También existen herramientas de gestión de metadatos: Atlas

Data Lake-Data Lake Tres mosqueteros: Delta, Hudi, Iceberg

2. Dirección de empleo de big data

Debido a que el conocimiento involucrado en big data es relativamente extenso y es demasiado difícil aprenderlos todos, ahora las empresas subdividirán las posiciones de big data al momento de contratar y se centrarán en la contratación en una dirección determinada, así que primero averigüe para qué trabajos hay. dirección de big data, y luego concéntrese en qué parte le interesa más en el proceso de aprendizaje posterior

Mire una imagen desde la perspectiva de Dios para comprender la ubicación de los grandes datos y su relación con las posiciones relacionadas.

La ubicación de la industria de big data

  1. Ingeniero de almacenamiento de datos (nombre completo: ingeniero de almacenamiento de datos)

El trabajo diario de los ingenieros de almacenamiento de datos generalmente no es escribir código, ¡principalmente escribir SQL!

Los ingenieros de almacenamiento de datos son los puestos más reclutados por las empresas en el campo de los grandes datos, y el salario también es alto, ¡así que deben concentrarse!

Los almacenes de datos se dividen en almacenes de datos fuera de línea y almacenes de datos en tiempo real, pero la mayoría de las empresas requieren ambos al contratar. Después de ingresar a la empresa, pueden centrarse en uno de datos fuera de línea o en tiempo real.

En la actualidad, la mayoría de las empresas aún se enfocan en los almacenes de datos fuera de línea, pero la tendencia futura definitivamente se basa en los almacenes de datos en tiempo real. Por lo tanto, al estudiar, para encontrar un trabajo ahora, necesita aprender los almacenes de datos fuera de línea. Para el desarrollo futuro , debe aprender a utilizar almacenes de datos fuera de línea. Aprenda a contar almacenes en tiempo real. Por lo tanto, ¡tanto fuera de línea como en tiempo real son nuestro enfoque!

Habilidades requeridas:

Ya sea sin conexión o en tiempo real, la máxima prioridad es: SQL

Se debe dominar la sintaxis y el ajuste de SQL. El SQL mencionado aquí incluye sql en mysql, hive sql en hive, spark sql en spark y flink sql en flink.

En las notas y entrevistas de reclutamiento corporativo, las preguntas generales sobre sql son principalmente hive sql, ¡así que preste atención!

Además de sql, también debe dominar las siguientes habilidades, que se dividen en fuera de línea y en tiempo real

Habilidades que deben dominarse en los almacenes de datos fuera de línea:

  • Hadoop (HDFS, MapReduce, HILO)
  • Hive (enfoque, incluidos los principios subyacentes de Hive, Hive SQL y ajuste)
  • Spark (Spark usará y comprenderá los principios subyacentes)
  • Oozie (herramienta de programación, puedes usarla)
  • Construcción de almacén de datos fuera de línea (construir almacén de datos, especificación de modelado de almacén de datos)
  • Modelado dimensional (los métodos de modelado comúnmente utilizados incluyen el modelado de paradigmas y el modelado dimensional, centrándose en el modelado dimensional)

Habilidades que deben dominarse en el almacén de datos en tiempo real:

  • Hadoop (esta es la base de los grandes datos, debe dominarse independientemente de si está fuera de línea y en tiempo real)
  • Kafka (punto clave, la única cola de mensajes en el campo de big data)
  • Flink (máxima prioridad, no hace falta decir que el rey absoluto en el marco de la computación en tiempo real)
  • HBase (usará, comprenderá los principios subyacentes)
  • Druida (usará, comprenderá los principios subyacentes)
  • Arquitectura de almacenamiento de datos en tiempo real (dos arquitecturas de almacenamiento de datos: arquitectura Lambda y arquitectura Kappa)
  1. Ingeniero de desarrollo de big data

Los ingenieros de desarrollo de datos generalmente escriben código, principalmente Java y Scala.

El desarrollo de big data se divide en dos categorías. La primera categoría es escribir aplicaciones Hadoop, Spark y Flink. La segunda categoría es desarrollar el propio sistema de procesamiento de big data, como el desarrollo de extensiones de marcos de código abierto, el desarrollo de datos plataformas intermedias, etc.!

Habilidades a dominar:

  • Idioma: Java y Scala (los idiomas son principalmente estos dos y deben dominarse)
  • Linux (requiere cierta comprensión de Linux)
  • Hadoop (necesita comprender la capa inferior y poder comprender el código fuente)
  • Colmena (utilizará, puede llevar a cabo un desarrollo secundario)
  • Spark (puede desarrollarse. Comprender el código fuente)
  • Kafka (usará, comprenderá los principios subyacentes)
  • Flink (puede desarrollar. Tener una comprensión del código fuente)
  • HBase (entender los principios subyacentes)

A través de las habilidades anteriores, también podemos ver que las habilidades de desarrollo de datos y desarrollo de almacenamiento de datos tienen una alta tasa de repetición, por lo que muchas empresas contratan desarrollo de big data y la construcción de almacenamiento de datos no es tan detallada, ¡el desarrollo de datos incluye trabajo de almacenamiento de datos!

  1. ingeniero ETL

ETL es la primera letra de tres palabras, chino significa extracción, conversión, carga

También se puede ver en la figura al principio que los ingenieros de ETL son la interfaz entre el negocio y los datos, por lo que deben lidiar con la relación entre aguas arriba y aguas abajo.

Para el upstream, es necesario tratar con la gente del sistema empresarial con frecuencia, por lo que es necesario estar familiarizado con el sistema empresarial. Por ejemplo, tienen varias interfaces, ya sea a nivel de API o interfaz de base de datos, lo que requiere que los ingenieros de ETL lo entiendan muy bien. El segundo es su flujo descendente, lo que significa que está tratando con muchos ingenieros de desarrollo de datos, científicos de datos. Por ejemplo, los datos preparados (limpieza, clasificación y fusión de datos) se entregarán a los científicos de datos y desarrollo de datos posteriores.

Habilidades que hay que dominar

  • Idioma: Java/Python (será básico)
  • Script de shell (requiere familiaridad con shell)
  • Linux (usará comandos básicos)
  • Hervidor (requiere dominio)
  • Sqoop (usará)
  • Canal (usará)
  • MySQL (conocido)
  • colmena (familiar)
  • HDFS (familiar)
  • Oozie (el marco de programación de tareas utilizará uno de ellos, otros como azkaban, flujo de aire)
  1. ingeniero de analisis de datos

Después de que el ingeniero de datos prepara los datos y mantiene el almacén de datos, entra en juego el analista de datos.

Los analistas analizarán y sacarán conclusiones en función de los datos y las condiciones comerciales, formularán estrategias comerciales o crearán modelos para crear nuevo valor comercial y respaldar la operación eficiente del negocio.

Al mismo tiempo, los analistas de datos tienen tres ramas en la etapa posterior: rastreadores de datos, minería de datos e ingenieros de algoritmos.

Habilidades a dominar:

  • Conocimiento matemático (el conocimiento matemático es el conocimiento básico de los analistas de datos y necesita dominar las estadísticas, el álgebra lineal y otros cursos)
  • Lenguaje de programación (requiere Python, lenguaje R)
  • Herramientas de análisis (Excel es imprescindible, y también se requieren herramientas de visualización como Tableau)
  • Sensibilidad de los datos (debe ser sensible a los datos, puede ver su uso y el valor que puede aportar cuando los ve)

3. Entrevista de Big Data

Si me pide que contrate a un ingeniero de big data, lo primero que miro no es la tecnología, sino si tiene la capacidad de pensar de forma independiente, darle un proyecto con el que no está familiarizado, si puede resolver rápidamente el negocio. lógica, y si puede completar los requisitos. Lo repito de nuevo, porque esto es demasiado importante, nuestra empresa ha contratado a dos jóvenes de big data. No sé si es una razón entre industrias u otra cosa. La demanda Siempre se entiende un poco, o nuestro negocio es más complicado. Pero la demanda no se entiende en el lugar, y la tecnología es inútil.

Pero, de nuevo, no hay forma de que revise la demanda por adelantado. Solo puede saber qué hacer cuando llegue la demanda. Por lo tanto, solo puede examinar la tecnología y su experiencia en proyectos anteriores durante la entrevista. Puede ver su opinión sobre este proyecto a través de los proyectos que has hecho antes. Depende principalmente de si el entrevistador tiene o no una buena relación con el entrevistador. No hay un estándar específico, porque el proyecto de cada persona puede ser diferente. Puedes hablar más sobre lo que sabes en tu proyecto, y no puedes hablar menos o no hablar nada. Si el entrevistador siente que hablas bien, tienes esperanza

Pero hay estándares para la tecnología, si te preguntan cierto punto técnico, serás sí, y no, no serás

Pero al aprender tecnología, debe pensar más, ¿por qué este punto técnico se implementa de esta manera y cuáles son los beneficios? Pensar más hará que el cerebro sea más flexible. Por ejemplo, Flink admite el procesamiento preciso de la semántica al mismo tiempo, pero todos piensen profundamente en cómo es el procesamiento preciso de flink Algunas personas dicen que se logra a través de un protocolo de envío de dos fases. Sí, es a través de este protocolo. Luego, piense en el contenido principal de este protocolo y cómo se implementa el algoritmo subyacente. Piensa paso a paso, descubrirás un mundo nuevo.

Habiendo dicho tanto anteriormente, en realidad hay dos puntos: la entrevista examina principalmente la tecnología y los proyectos . Los proyectos también son muy importantes. Por un lado, puede verificar su dominio técnico a través de proyectos y, por otro lado, puede verificar su comprensión de los proyectos. Si no está familiarizado con los proyectos en su currículum y está tropezando , luego ingresa Después de la empresa, ¿cómo puede familiarizarse rápidamente con el negocio en un corto período de tiempo?

Por lo tanto, asegúrese de escribir el proyecto en su currículum y familiarícese con el proyecto.

Cinco minutos para aprender el cuadro de diálogo de la cuenta pública de big data: Entrevista , ¡habrá una pregunta de entrevista de big data súper completa con análisis!

4. Currículum de Big Data

Para muchos recién graduados, muchos de ellos escriben sus currículums pensando en los estudiantes, lo que no solo es inútil para buscar trabajo, sino que también cava muchos agujeros para ellos mismos. Perder a nivel de currículum equivale a perder un maratón en la línea de salida, y acabará antes de empezar.

Currículum tabúes:
  1. curriculum vitae haitou

No envíe un currículum intacto a docenas de empresas. El resultado de esto es a menudo un callejón sin salida.

La búsqueda de empleo enfatiza la "coincidencia persona-puesto" , es decir, la calidad personal del entrevistado es altamente consistente con los requisitos del puesto. Es necesario modificar el currículum adecuadamente de acuerdo con los requisitos del trabajo para mejorar el grado de coincidencia laboral.

  1. currículum no tiene sentido

Un currículum excelente debe ser uno que sepa "rendirse" . No es necesario enumerar todos los eventos y experiencias de su universidad en los últimos años, pero debe elegir de acuerdo con las necesidades de la empresa y el puesto, seleccionar la experiencia más adecuada y presentarla en un espacio amplio.

Cómo escribir un currículum:

¡Aquí viene el punto! ! ! ¡Al escribir un currículum, debe usar los cuatro principios y la regla STAR !

Cuáles son los cuatro principios y cuál es la regla STAR, luego la analizaremos punto por punto:

Cuatro principios :

  1. principio de palabra clave

El principio de palabra clave se refiere al uso de más términos de la industria o vocabulario profesional en la descripción de su experiencia para resaltar su profesionalismo y familiaridad con la industria.

  1. verbo principio

Los verbos son el alma de una oración y uno de los criterios más importantes para que los entrevistadores juzguen si tu experiencia personal es verdadera. En la descripción de la experiencia, preste atención a la elección de los verbos , y los verbos más precisos pueden transmitir el valor de su experiencia.

Por ejemplo, los verbos "comprometerse", "acumular" y "obtener" que indican el propio comportamiento parecen usarse en todos los trabajos, pero la singularidad de esta experiencia no se ve en absoluto.

Para demostrar la verdad y el valor de su experiencia, los verbos suficientemente especializados son una ventaja.

  1. principio numérico

El uso de números es en realidad un buen punto a favor para su currículum.El significado de los números es cuantificar su experiencia. Los números ricos son más convincentes que los adjetivos llamativos .

Los números generalmente se pueden usar en tres dimensiones: valor, tiempo y cantidad.

Recuerde, cuantifique todo lo que se pueda cuantificar y use datos para mostrar su rica experiencia.

  1. principio de resultado

Muchos estudiantes ignoran el resultado final de su experiencia al describir su experiencia, pero el resultado es una de las evidencias importantes para probar el valor de su experiencia .

Antecedentes del Proyecto de Situación de la Ley STAR

Cuéntenos qué tan buenos son su plataforma y su equipo para demostrar qué tan bien ha sido reconocido.

Tarea objetivo del proyecto

Presente sus objetivos y visión específicos para esta actividad, a veces combinados con la sección anterior.

acción que hiciste

Explique qué tipo de esfuerzos ha realizado en el equipo, qué papel ha jugado y qué papel ha jugado, para mostrar su fuerza personal y su crecimiento y experiencia en el equipo. Esta parte suele ser la más importante.

resultado cual es el resultado

Explique qué tipo de trabajo ha logrado finalmente, y puede referirse a los "Cuatro Principios" en la sección anterior.

Cinco minutos para aprender el cuadro de diálogo de la cuenta pública de big data: currículum , ¡habrá docenas de plantillas de currículum de big data para su referencia!


Finalmente, le daré algunas palabras clave y verbos de alto perfil, solo para entretenerse :

Nota: Las siguientes palabras se pueden usar en currículos y entrevistas, ¡pero no se exceda!

Sustantivos de alta calidad: ciclo de vida, transformación de valor, fortalecimiento de la cognición, inclinación de recursos, mejora de la lógica, abstracción y transmisión transparente, multiplexación, modelo de negocio, respuesta rápida, cualitativa y cuantitativa, ruta crítica, descentralización, orientada a resultados, verticales, análisis de atribución , métricas de experiencia, barreras de información, integración de recursos

Verbos de fuerza alta: revisar, empoderar, apoyar, precipitar, hacer retroceder, aterrizar, conectar, colaborar, retroalimentar, ser compatible, empaquetar, reorganizar, realizar, responder, cuantificar, diseñar, vincular, subdividir, clasificar, generar, acelerar, co-construcción, apoyo, fusión, agregación, integración, evaluación comparativa, enfoque, captación, desmantelamiento, abstracción, exploración, refinación, apertura, penetración, penetración, migración, distribución, distribución, radiación, entorno, reutilización, penetración, expansión, desarrollo , sólido, co-creación, co-construcción, desacoplamiento, integración, alineación, alineación, enfoque, dar, recibir, morir

¿Qué opinas de estas palabras?

Finalmente, aquí viene la pregunta de muerte de un entrevistador:

¿Cuál es la lógica subyacente de su pregunta? ¿Dónde está el diseño de alto nivel? ¿Cuál es el valor final entregado? ¿Dónde está el punto de partida del proceso? ¿Cómo asegurar que la respuesta sea de circuito cerrado? ¿Dónde te destacas de los demás? ¿Dónde están las ventajas? ¿Cuáles son tus pensamientos y precipitaciones? ¿Sería diferente para mí hacer esta pregunta? ¿Dónde está tu valor único?

conversar

¿Cuál es la razón por la que está involucrado en el trabajo de big data, debido a esta especialización en la universidad? Big data es más popular y el aprendizaje? ¿Big data paga salarios altos para cambiar de carrera? ¡Bienvenido a dejar su mensaje en el área de comentarios!

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4789384/blog/5279587
Recomendado
Clasificación