Metodología práctica de gobierno de datos de Suning y clásico de tres caracteres

Con el vigoroso desarrollo de Internet móvil y big data, el concepto de " datos es un activo " está profundamente arraigado en los corazones de las personas. Big data se ha convertido en un medio estratégico de producción, desempeñando un papel extremadamente importante en todos los ámbitos de la vida, y big data también ha traído orgullo y confianza en sí mismos sin precedentes a muchas empresas.

Sin embargo, ¿el big data es realmente cuanto " más grande " mejor? Cuando los grandes datos alcanzan una cierta escala, el costo de los recursos del clúster, los costos de desarrollo y mantenimiento de datos y los costos de administración de datos que necesita transportar aumentarán geométricamente, lo que también generará una gran cantidad de gastos generales.

Si falta una gobernanza y un control científicos y efectivos, habrá una gran cantidad de activos de datos " negativos " , que no solo devorarán las ganancias de la empresa, sino que también afectarán en gran medida el desarrollo del negocio de datos y la estabilidad del funcionamiento de la plataforma. .

Muchas empresas de big data se enfrentarán a los siguientes dilemas:

  • La tarea de datos recientemente desarrollada se inició rápidamente, pero se descubrió que los recursos del clúster no eran suficientes.
  • La tarea a completar por la mañana no se ha completado por la mañana, ¿cuándo puedo ver el informe?
  • Se eliminó una gran cantidad de datos el mes pasado, y el almacenamiento está casi lleno nuevamente, y una gran cantidad de datos sigue creciendo todos los días.
  • Con tantos archivos pequeños, la memoria del clúster  NameNode está a punto de explotar ...

Los dolores de cabeza vienen uno tras otro. Frente a estos problemas, ¿tenemos que cambiar nuestra perspectiva para reducir los recursos del clúster de big data, extraer la esencia y descartar la escoria, para hacer que el entorno de recursos de los clústeres de big data sea más saludable y el desarrollo de datos El trabajo es más eficiente y la relación insumo-producto de la empresa es más razonable.

Por lo tanto, el trabajo de gobernanza de los recursos del clúster de big data (en lo sucesivo, " gobernanza " ) debe llevarse a cabo con urgencia.

¿Por qué es difícil promover la gobernanza?

La mayoría de las empresas crecen mucho en las primeras etapas del desarrollo de big data. Prestan más atención a tener más datos y a completar el desarrollo comercial de datos más rápido. Incluso si los recursos del clúster son insuficientes, agregar máquinas es mucho más rápido que llevar a cabo la gobernanza.

El trabajo de gobierno involucra muchas líneas funcionales y departamentos, con diferentes roles, diferentes posiciones y diferentes niveles de aportes de gobierno.

Incluso si los recursos del clúster alcanzan una cierta escala y tienen que ser gobernados, cada organización seguirá enfocándose en el desarrollo empresarial y el trabajo de gobierno no es una alta prioridad para ellos, lo que afecta directamente el efecto de gobierno.

¿Cómo funciona la gobernanza?

Suning cree que la gobernanza debe coordinarse desde dos aspectos: garantía organizativa y herramientas de gobernanza. El apoyo de la empresa es crucial, es útil para construir una cultura de datos unificada, promover el establecimiento de un comité de gobierno de datos, aclarar las responsabilidades de cada organización, formular sistemas de gobierno, estándares y procesos, etc., y utilizar un gobierno de tiempo completo. equipo para ser responsable de la construcción de herramientas de gobernanza y la promoción de la operación en general.

A diferencia de la gestión tradicional de activos de datos, la gobernanza de recursos de clústeres de big data se centra en la reducción de los recursos informáticos y de almacenamiento. Al mismo tiempo que garantiza el rendimiento y la estabilidad de la plataforma, también debe considerar el empoderamiento de la gestión de activos de datos.

El gobierno de los recursos del clúster de big data debe combinarse con la situación actual de la empresa, enfocarse en resolver los puntos débiles más importantes en la actualidad y dar prioridad a los elementos de gobierno que son urgentes y tienen una alta relación de entrada-salida.

Para los elementos de gobierno urgentes, si hay pocos departamentos y usuarios involucrados, pueden comunicarse cara a cara, correo electrónico y redes sociales, y si se pueden resolver en un período corto de tiempo, se utiliza el gobierno manual fuera de línea.

Para elementos de gobernanza que no son de emergencia que involucran una amplia gama de departamentos y usuarios y requieren una gobernanza a largo plazo, se utilizan herramientas en línea para ayudar a la gobernanza a reducir los costos de mano de obra.

Con este fin, Suning lanzó proyectos de tratamiento especial como el " Proyecto Lake Patrol " y el " Proyecto Mil Reubicaciones " :

  • La tarea principal del proyecto de inspección del lago es realizar una inspección y gestión integrales de los recursos del clúster de big data.
  • El Proyecto de Reubicación Mil consiste en migrar tareas  Hive de alta computación a la plataforma informática  SparkSQL en lotes, al tiempo que garantiza la exhaustividad y el enfoque del trabajo de gobierno.

En cuanto a la evolución de los métodos de trabajo de gobierno, Suning adoptó cuatro pasos: gobierno manual fuera de línea, gobierno semi-instrumental, gobierno instrumental y gobierno autónomo, y finalmente se dio cuenta del gobierno autónomo de cada organización.

Escenarios típicos de gobernanza y soluciones

La gobernabilidad de los recursos del clúster de Big Data es un proyecto enorme y complejo. Basándose en su propia experiencia de gobernabilidad, Suning compartirá escenarios y soluciones de gobernabilidad típicos desde tres aspectos: gobernabilidad informática, gobernabilidad del almacenamiento, gobernabilidad del rendimiento y estabilidad.

gobernanza informática

No hay duda de que la CPU y la memoria son recursos escasos del clúster, y garantizar la potencia informática de los recursos del clúster es la principal prioridad.

Una vez que faltan los recursos informáticos, una serie de operaciones de datos, como la recopilación de datos, el almacenamiento de datos, el procesamiento de datos y la auditoría de datos, se retrasarán o incluso colapsarán.

Cómo reducir el consumo de recursos informáticos, mejorar el rendimiento de la ejecución de tareas y acortar el tiempo de salida de tareas es el objetivo central de la gobernanza informática.

A continuación, se presenta principalmente la optimización de la gobernanza informática desde las perspectivas de la gobernanza del recálculo de tareas, la gobernanza de excepción de tareas, la reducción de picos de tareas y la gobernanza de valle plano, la gobernanza de asignación de recursos de tareas y la optimización del marco informático.

Gestión de recálculo de tareas

En el proceso de creación de un almacén de datos, a menudo hay múltiples asociaciones entre tablas de hechos y tablas de dimensiones, y múltiples asociaciones entre tablas de hechos y tablas de hechos, lo que da como resultado un doble cálculo de datos.

La administración de recálculo de tareas es para tareas fuera de línea de big data como  Hive , SparkSQL y otras tareas  de SQL Al analizar la sintaxis de asociaciones complejas de  unión , combinación y subconsulta asociadas con tablas , puede identificar tareas recalculadas y leerlas Tabla de enlace (tabla de origen) datos para promover la construcción de modelos públicos y reducir los cálculos de duplicación de tareas.

Entre ellos, el método  de unión de asociación de tablas es relativamente simple de identificar, el ejemplo es el siguiente:

②Gestión de excepciones de tareas

La tasa de error de la tarea es un indicador importante para medir si la tarea necesita ser gobernada.Si la tasa de error es demasiado alta, significa que la tarea no tiene valor y generalmente se puede borrar. Si la tarea realmente necesita ser utilizada, debe optimizarse.

Lo siguiente se utiliza como referencia, y el umbral se puede ajustar de acuerdo con la situación real:

Además, cuando la tabla de destino de una tarea no se ha actualizado dentro de uno o más ciclos de programación, se puede determinar que la tarea no ha producido datos y la posibilidad de que la tarea se borre y quede fuera de línea es alta.

③Reducción de picos de tareas y gestión de valles

Desde la perspectiva del día completo, habrá diferencias obvias entre el tiempo ocupado y el inactivo en la ejecución de tareas. Las horas pico de la mayoría de las empresas se concentran principalmente de  0:00 a  8:00 de la mañana , y el resto del tiempo es relativamente inactivo, lo que ha provocado una grave escasez de recursos informáticos durante las horas pico.

 Todo el mundo quiere terminar la tarea antes de las 8:00 de la mañana , pero ¿no es necesario para cada tarea de tiempo ocupado? Al analizar el tiempo de lectura de la tabla de salida de tareas durante las horas pico, se pueden identificar las tareas que se programan y ejecutan de forma irrazonable.

Por ejemplo, si la tarea termina de ejecutarse a las  8:00 am y la tabla de destino escrita en ella se lee a las  12:00 del mediodía , ¿se puede ejecutar la tarea durante las horas pico?

④Gestión de asignación de recursos de tareas

Aquí hablamos principalmente de la gestión de recursos de tareas en tiempo real  de Spark Streaming . La lógica de procesamiento de Spark Streaming y  Spark es la misma, se dividen según el tiempo después de recibir el flujo de datos externo.

El " microlote " procesa los archivos divididos uno por uno y, a menudo, existe un fenómeno de asignación excesiva de recursos, que es fácil de identificar.

Como se puede ver en la figura anterior, los datos se dividen en  N partes iguales según el tiempo. Asuma la duración del intervalo de cada lote  A : tiempo_lote ; la duración del procesamiento  B : retraso_total ; la duración de la espera para  C : tiempo_espera .

Cuando ocurre  batch_time>>total_delay , los recursos ocupados por la tarea actual desperdiciarán  wait_time .

La gobernanza mediante la reducción de los recursos de las tareas o la fusión de varias tareas en una tarea puede mejorar la utilización de los recursos.

Aunque  el total_delay será más largo, siempre que el tiempo de procesamiento general se mantenga dentro del plan original, se pueden satisfacer las necesidades comerciales.

Optimización del marco informático

Cada vez hay más marcos informáticos, y se están volviendo cada vez más maduros y perfectos. Elegir un marco informático que se adapte a ti es la clave. Por ejemplo, la migración de tareas de  Hive a tareas  de SparkSQL y de tareas de Storm a tareas de  Flink traerá mejoras de rendimiento significativas.

Sin embargo, bajo la premisa de tareas de datos masivos, la migración de tareas no es una tarea fácil, es necesario considerar integralmente el plan de migración, así como los costos y riesgos involucrados.

Gobernanza del almacenamiento

Hoy, con el crecimiento explosivo de los datos, el uso efectivo de los recursos de almacenamiento también enfrenta una serie de desafíos. Cómo reducir el consumo de recursos de almacenamiento y ahorrar costos de almacenamiento es el objetivo de la gobernanza del almacenamiento.

A continuación, se presenta principalmente la optimización de la gobernanza del almacenamiento desde las perspectivas de la gestión del ciclo de vida, la gobernanza de la compresión de datos, la gobernanza de la restauración de datos y la gobernanza del valor de los datos.

①Gestión del ciclo de vida

La limpieza y eliminación de tablas según su ciclo de vida es la forma más habitual y eficaz de gestión del almacenamiento. Para reducir el riesgo de pérdida de datos, primero puede cambiar el nombre de la tabla  o prohibir los permisos de lectura y escritura de la tabla a través  del guardabosques (equivalente a la eliminación lógica) y eliminarla en la papelera de reciclaje después del período de observación de 7 días. La papelera de reciclaje se conservará durante  3 días de forma predeterminada antes de la eliminación final.

Si la configuración del ciclo de vida de la tabla no es razonable (demasiado larga), también se pueden realizar auditorías y rectificaciones de acuerdo con el tipo de tabla y las condiciones comerciales.

②Gestión de compresión de datos

La gestión de compresión de datos es el método de gestión de almacenamiento más simple y efectivo. Los beneficios de la compresión de datos son obvios, ya que pueden ahorrar espacio en disco directamente, mejorar la utilización del disco y acelerar la transmisión de la red.

Pero al mismo tiempo, la compresión y descompresión de datos necesita consumir recursos informáticos. Si los recursos informáticos del clúster son escasos y los datos se leen con frecuencia, se recomienda seleccionar un método de compresión de datos adecuado en función del escenario real.

Bajo diferentes formatos de almacenamiento y algoritmos de compresión, el rendimiento de ejecución de consultas simples, consultas de tablas grandes y anchas y consultas complejas es diferente, y debe elegirlas y usarlas en combinación con escenarios reales.

Gestión de recuperación de datos

Una forma relativamente sencilla es analizar la lógica del código de las tareas  de Hive y las tareas de SparkSQL , analizar las funciones de lectura, escritura, condiciones y campo de la tabla en el código, e identificar si las tablas de lectura y escritura se almacenan repetidamente.

Además, también se puede identificar a través de la similitud de los nombres de las tablas y los nombres de los campos, y combinado con ciertos datos de salida periódicos, muestreo para análisis e identificación de comparación de similitudes.

Si los datos de la tabla se almacenan repetidamente, también es necesario averiguar la tarea ascendente en función de la relación de sangre del enlace e implementar la gestión " de un solo recipiente " de la tabla y las tareas ascendentes en todo el enlace .

④Gobernanza del valor de los datos

Clasifique el valor comercial actual, analice la relación de entrada-salida desde el origen de la capa de aplicación de datos (incluidos informes, indicadores y etiquetas) y lleve a cabo una gobernanza de valor " de arriba a abajo " en los recursos de enlace generales .

Si la tabla no se ha actualizado durante mucho tiempo (como  32 días) o no se ha leído, a menudo indica que el valor de esta tabla es muy bajo o incluso inútil, y la tabla se puede limpiar y eliminar. tiempo, se puede dar prioridad a la gestión de tablas grandes y tablas de particiones, tabla de alto costo.

Gobernanza de desempeño y estabilidad

La gobernanza del rendimiento y la estabilidad del clúster implica muchos aspectos. Aquí nos centramos en la gobernanza de archivos pequeños y la gobernanza de la asimetría de datos.

①Gestión de archivos pequeños

Aunque HDFS admite la expansión horizontal, no es adecuado para almacenar una gran cantidad de archivos pequeños. Debido a que  NameNode almacena los metadatos del sistema de archivos en la memoria, la cantidad de archivos almacenados está limitada por el tamaño de  la memoria de NameNode . Cuando el clúster alcance cierta escala, la memoria de NameNode se convertirá en un cuello de botella.

La administración de archivos pequeños necesita definir un tamaño de archivo pequeño adecuado en función de la cantidad de archivos en el clúster actual, como menos de  1M .

El método de gobierno debe considerar el control de la fuente, configurar los parámetros de combinación de archivos en las tareas y realizar la combinación de archivos pequeños antes del almacenamiento  HDFS , pero esto prolongará el tiempo de ejecución de la tarea.

Por lo tanto, puede optar por fusionar archivos pequeños periódicamente durante el tiempo de inactividad. Además, también puede establecer el umbral de proporción de archivos pequeños y activar la fusión de archivos pequeños de acuerdo con el umbral.

②Gobernanza de asimetría de datos

Muchas veces, cuando usamos tareas  de Hive o  Spark para recuperar datos, solo ejecutamos una declaración  de combinación simple , pero lleva mucho tiempo ejecutarla. A menudo pensamos que esto se debe a recursos insuficientes del clúster, pero en la mayoría de los casos, hay un " sesgo de datos " .

El sesgo de datos es muy común en  el modelo de programación de MapReduce . Se asigna una gran cantidad de  claves idénticas a una  partición por partición , lo que resulta en la situación de " algunas tareas se agotan y se arrastran hacia abajo, y otras tareas están inactivas " . Esto no es propicio Maximizar el uso eficiente de los recursos.

Como se puede ver en la figura anterior, al analizar el registro de monitoreo de la ejecución de la tarea, es fácil encontrar la tarea de sesgo de datos.

En combinación con las causas específicas, la distribución de datos y los cambios comerciales, las tareas de optimización específicas pueden acortar el tiempo de ejecución de la tarea en más de una docena de veces, y el efecto es muy obvio.

¿Qué capacidades deben tener las herramientas de gobernanza?

Suning ha creado una plataforma unificada de administración de recursos de clúster para los encargados de la gobernanza, los administradores de proyectos, los líderes de la empresa y los operadores de gobernanza para controlar la situación general de los recursos informáticos del clúster, los recursos de almacenamiento, el rendimiento y la estabilidad. Optimización, supervisión y evaluación " soporte capacidades, para lograr servicios de gobierno de ventanilla única y procesos de ciclo cerrado, reducir la carga de trabajo de entrada de gobierno y mejorar la eficacia de gobierno.

posdata

Suning ha establecido un sistema de gobierno de datos y un proceso estándar relativamente maduros, y se han promovido múltiples tareas de gobierno simultáneamente, todas las cuales han logrado resultados notables, ahorrando a la empresa considerables costos de inversión en recursos del servidor.

Además, con el avance del trabajo de gobernabilidad, varias organizaciones también son más proactivas en llevar a cabo la gobernabilidad de origen, lo que reduce en gran medida la carga de trabajo de la gobernabilidad posterior.

El trabajo de gobernanza no se logrará de la noche a la mañana, y no es tan fácil de brillar como el negocio inicial, que parece " simple y sin pretensiones " . Todos los trabajadores de gobernanza trabajan en silencio detrás de escena, asegurando incansablemente el uso máximo y efectivo de los recursos del clúster de big data.

En el futuro, el equipo de gobernanza de big data de Suning continuará promoviendo la gobernanza, mejorará aún más las capacidades de soporte de las herramientas y productos de gobernanza y potenciará la normalización, la instrumentación y la inteligencia de la gobernanza.

Abogamos por la combinación de tecnología y arte, y finalmente escribimos un poema, con la esperanza de ayudar a los colegas necesitados a comprender mejor este trabajo y lograr los objetivos de gobernanza más rápido.

"Suning Data Governance Three Character Classic" 

-- Wei Zhen

Al comienzo del número, el volumen es pequeño. Crecimiento rápido, cuellos de botella encontrados.

Sin gestión, es difícil de controlar. Si no se cura, puede colapsar en cualquier momento.

Si se gobierna ampliamente, será complicado. La forma de gobernar es costosa.

Soporte de alto nivel, implementación sólida. Definir responsabilidades y trabajar juntos.

Observe el status quo y diagnostique el problema. Puede identificar y localizar con precisión.

Controlar el aumento y reducir el stock. Comparta el costo y muestre la dirección.

Desde la fuente, razona el valor. Dependiendo de la escena, elige una plataforma.

Debe estar comprimido y necesita ser limpiado. Elimine la redundancia y aplane los picos y valles.

La gobernanza es urgente, fuera de línea primero. Gana experiencia y crea herramientas.

Se puede optimizar y evaluar. Debe ser evaluado y supervisado.

Sistemático e inteligente. De una sola parada, circuito cerrado.

El almacenamiento es fácil, el poder de cómputo es difícil. Si hay una manera, todo se puede hacer.

Supongo que te gusta

Origin blog.csdn.net/xljlckjolksl/article/details/132141590
Recomendado
Clasificación