12: Resumen del proyecto: requisitos previos
- Objetivo : Dominar los antecedentes del proyecto y los requisitos del proyecto de fabricación integral.
- camino
- paso 1: antecedentes de la industria
- paso 2: requisitos del proyecto
- implementar
- Industria del Proyecto : Big Data de Internet Industrial: Internet de las Cosas
- Nombre del proyecto : Plataforma de gestión de operaciones de datos de proveedores de servicios de gasolineras.
- Consulte otros proyectos: plataforma comercial de análisis de big data: Sensores
- Productos de la empresa : Servicio de equipos dispensadores de combustible.
- Clientes corporativos : Sinopec, PetroChina, CNOOC, Shell, Total...
- demanda general
- Requisito 1: Mejorar la calidad del servicio de los productos de la empresa mediante el análisis de datos.
- Análisis estadístico basado en los datos de equipos de instalación, mantenimiento, inspección y transformación de gasolineras.
- Análisis de datos del call center que respaldan los requisitos de mantenimiento de equipos del sitio de la gasolinera y el servicio postventa.
- Requisito 2: Apoyar la operación y contabilidad de costos de la empresa a través del análisis de datos.
- Garantizar el almacenamiento y logística de piezas y las necesidades de la cadena de suministro.
- Realizar la contabilidad de todas las operaciones de costos en el proceso de servicio.
- Requisito 3: Preparar datos para futuros equipos cisterna automatizados
- Obtenga toda la información del usuario y del vehículo para realizar una gestión automática del reabastecimiento de combustible.
- Requisito 1: Mejorar la calidad del servicio de los productos de la empresa mediante el análisis de datos.
- requerimiento específico
- Análisis de operación: número de órdenes de servicio del call center, número de órdenes de trabajo de equipos, número de ingenieros de servicio participantes, indicadores de consumo y suministro de repuestos, etc.
- Análisis de equipos: monitoreo del volumen de aceite de los equipos, monitoreo del estado de operación de los equipos, número de instalaciones, tiempos de inspección, tiempos de mantenimiento y tiempos de transformación.
- Centro de llamadas: el número de llamadas, el número total de órdenes de trabajo, el número total de órdenes de envío, el número total de terminaciones y el número de órdenes de verificación.
- Análisis de empleados: número de personal, número de pedidos recibidos, número de evaluaciones y número de viajes de negocios.
- Análisis de costos: análisis de gestión de materiales de almacén, análisis de usuarios.
- resumen
- Domine los antecedentes del proyecto y los requisitos del proyecto de fabricación integral.
13: Resumen del proyecto: fuentes de datos
-
Objetivo : dominar el proceso empresarial y las fuentes de datos de proyectos de fabricación integrales.
-
camino
- paso 1: proceso de negocio
- paso 2: fuente de datos
-
implementar
-
Procesos de negocio
- Paso 1: El proveedor de servicios de la gasolinera se comunica con el centro de llamadas y solicita servicios : instalación/inspección/mantenimiento/modificación del surtidor de combustible.
- El centro de llamadas registrará la información de esta solicitud: Hoja informativa sobre la transacción de aceptación de llamadas entrantes
- Paso 2: El centro de llamadas se comunica con el sitio de servicio correspondiente y asigna una orden de trabajo : comuníquese con el supervisor del sitio, y el supervisor del sitio asigna personal de servicio.
- La información de la orden de trabajo se registra en: tabla de información de orden de servicio, tabla de información de orden de trabajo
- Paso 3: El personal de servicio confirma la orden de trabajo y la información de la estación de servicio.
- Tabla de información de orden de trabajo específica: orden de instalación, orden de mantenimiento
- Paso 4: El personal de servicio llega a la gasolinera en la fecha especificada para realizar el mantenimiento del equipo.
- Paso 5: Si se trata de un servicio de instalación o inspección, y la instalación o inspección es exitosa, el servicio está completo
- Paso 6: Si es para servicio de mantenimiento o transformación, es necesario solicitar materiales desde el sitio de servicio , cuando llegan los materiales y se completa la implementación, se completa el servicio.
- Paso 7: Una vez completado el servicio, confirme el final del servicio con el proveedor de servicios del sitio de la gasolinera y complete la verificación del pedido.
- Paso 8: Gastos incurridos durante el proceso de reembolso del ingeniero
- Registros de todos los gastos de reembolso: hoja de información de gastos de viaje, calendario de gastos
- Paso 9: El centro de llamadas realizará visitas periódicas al servicio del ingeniero en la orden de trabajo.
- hoja de información de la visita de regreso
- Paso 1: El proveedor de servicios de la gasolinera se comunica con el centro de llamadas y solicita servicios : instalación/inspección/mantenimiento/modificación del surtidor de combustible.
-
Fuentes de datos
-
Sistema ERP : sistema de gestión de recursos empresariales, que almacena información sobre todos los recursos de toda la empresa.
- Todos los ingenieros, artículos, cadena de suministro de productos de equipos, producción, ventas e información financiera están en el sistema ERP.
-
Sistema CISS : sistema de gestión de servicio al cliente, que almacena todos los datos de usuario y operación.
- Información de orden de trabajo, información de usuario.
-
Sistema de call center : responsable de la realización de todas las solicitudes de demanda del cliente, programación, revisitas, etc.
- Información de llamadas, información de asignaciones, información de visitas posteriores.
-
tabla de datos básicos
- Análisis Operacional
- Análisis de órdenes de trabajo, análisis de instalación, análisis de mantenimiento, análisis de inspección, análisis de transformación, análisis de aceptación de llamadas.
- Mejorar la calidad del servicio
- Análisis de la visita de regreso
- Costo operativo
- Análisis de ingresos y soporte
- Análisis Operacional
-
-
-
resumen
- Domine el proceso de negocio y las fuentes de datos de proyectos de fabricación integrales.
14: Resumen del proyecto: División temática
-
Objetivo : Dominar la división temática de artículos fabricados en un solo lugar.
-
implementar
- dominio de servicio
- Temas de instalación: método de instalación, tarifa de pago, tipo de instalación
- Asunto de la orden de trabajo: método de envío, número total de órdenes de trabajo, tipo de envío, número total de trabajo completado,
- Temas de reparación: cargos de pago, cargos de piezas, tipos de fallas
- Temas de envío: número de pedidos de envío, pedido de envío promedio, tiempo de respuesta de los pedidos de envío
- Temas de gastos: Gastos de viaje, Gastos de instalación, Estadísticas de personal de reembolso
- Temas de revisitas: número de revisitas, estado de la orden de trabajo de retorno
- Tema de gasolineras: número total de gasolineras, gasolineras recién añadidas
- dominio del cliente
- Tema del cliente: número de instalaciones, número de reparaciones, número de inspecciones, número de visitas posteriores
- dominio de almacenamiento
- Objeto de la cancelación de buenos productos en garantía: cantidad de cancelación, cantidad de repuestos
- Objeto de la cancelación de productos defectuosos bajo garantía: número de piezas a cancelar, cantidad de piezas a cancelar después de la verificación
- Tema de reparación: aplicación de reparación, cantidad de material de reparación, tipo de reparación
- Tema de transferencia: estado de transferencia, cantidad de transferencia, tipo de dispositivo de transferencia
- Cancelación de consumibles: cancelación total, cancelación del tipo de equipo
- dominio del proveedor
- Tema de orden de trabajo: método de envío, número total de órdenes de trabajo, tipo de orden de trabajo, tipo de cliente
- Tema de gasolineras del proveedor de servicios: número de gasolineras, nuevo número de gasolineras
- Dominio de operación
- Temas operativos: horas del personal de servicio, análisis de estaciones de reparación, orden de trabajo promedio, distribución de red
- dominio de mercado
- Temas de mercado: estadísticas de órdenes de trabajo, detalles de finalización, estadísticas de órdenes
- dominio de servicio
-
resumen
- Dominar la división temática de proyectos de fabricación integral.
15: Resumen del proyecto: Arquitectura técnica
-
Objetivo : Dominar la arquitectura técnica de proyectos de fabricación integral.
-
implementar
-
Generación de datos : sistema de base de datos empresarial
- Oracle: datos de órdenes de trabajo, datos de materiales, datos de proveedores de servicios, datos de reembolsos, etc.
-
recopilación de datos
- Sqoop: adquisición de bases de datos fuera de línea
- ¿Cómo recopila Sqoop datos de Oracle?
- Sqoop: adquisición de bases de datos fuera de línea
-
almacenamiento de datos
- Hive [HDFS]: almacén de datos fuera de línea [tabla]
-
cálculo de datos
- SparkSQL: método de desarrollo similar a HiveSQL: procesamiento y análisis de datos estructurados en el almacén de datos
- Python | Java: desarrollo de SparkSQLDSL: use spark-submit para enviar y ejecutar
- SparkSQL SQL + ThriftServer: enviar desarrollo de SQL
- SparkSQL: método de desarrollo similar a HiveSQL: procesamiento y análisis de datos estructurados en el almacén de datos
-
aplicación de datos
- MySQL: almacenamiento de resultados
- FineBI/Tableau: Herramientas de visualización
-
herramienta de monitoreo
- Prometheus: herramienta de monitoreo de indicadores de rendimiento del servidor
- Grafana: herramienta de visualización de seguimiento
-
herramienta de programación
- AirFlow: herramienta de programación de flujo de tareas
-
Arquitectura Tecnológica
-
-
resumen
- Dominar la arquitectura técnica de proyectos de fabricación integral.
16: Resumen del proyecto: Diseño de almacén de datos
-
Objetivo : Dominar el diseño jerárquico y el diseño de modelado de proyectos de fabricación integrales.
-
camino
- paso 1: diseño en capas
- paso 2: diseño de modelado
-
implementar
-
diseño en capas
- ODS : Capa de datos sin procesar: la capa más cercana a los datos originales, capa de recopilación y escritura directa: tabla de hechos de la transacción original
- Contenido de los datos: almacene todos los datos comerciales originales, que son básicamente consistentes con los datos comerciales en la base de datos Oracle.
- Fuente de datos: recopilación síncrona de Oracle usando Sqoop
- Diseño de almacenamiento: tabla de particiones de Hive, almacenada en formato de archivo avro, reservada por 3 meses
- DWD : capa de datos detallada: el resultado después de ETL se obtiene para los datos de la capa ODS de acuerdo con los requisitos comerciales: tabla de hechos de transacciones después de ETL
- Contenido de datos: almacene datos detallados de todos los datos comerciales
- Fuente de datos: obtenido mediante aplanamiento ETL de datos de la capa ODS
- Diseño de almacenamiento: tabla de particiones de Hive, almacenamiento en formato de archivo orc, conserva todos los datos
- DWB : capa de datos básica: similar al DWM explicado anteriormente, ligeramente agregado
- Asociación: asocie las tablas de hechos del tema y combine todos los campos relacionados con este tema en una sola tabla.
- Agregación: cree métricas subyacentes basadas en hechos transaccionales sobre temas
- Hoja informativa sobre el tema
- Contenido de los datos: almacene datos como asociaciones básicas entre todos los hechos y dimensiones, indicadores de hechos básicos, etc.
- Fuente de datos: datos después de la limpieza, filtrado y agregación ligera de datos de la capa DWD
- Diseño de almacenamiento: tabla de particiones de Hive, almacenamiento en formato de archivo orc, conserva todos los datos
- ST : capa de aplicación de datos: similar a la aplicación explicada anteriormente, almacena los resultados de cada tema en función de la agregación del análisis dimensional: tabla de hechos instantánea periódica
- Informes para análisis de datos.
- Contenido de los datos: almacene los datos fácticos de todos los análisis de informes.
- Fuente de datos: según las capas DWB y DWS, los indicadores de todos los hechos del informe se obtienen mediante la agregación estadística de diferentes dimensiones.
- DM : Data Mart: De acuerdo con las necesidades de datos de los diferentes departamentos, no habrá almacenamiento de datos para las necesidades reales del sujeto por el momento.
- Realizar el archivo de datos departamentales para facilitar el desarrollo iterativo de nuevos requisitos comerciales en el futuro.
- Contenido de datos: almacene datos de diferentes temas requeridos por diferentes departamentos
- Fuente de datos: la agregación y las estadísticas de los datos de la capa DW se dividen según diferentes departamentos
- DWS : capa de datos de dimensiones: similar al DIM explicado anteriormente: almacenar tablas de datos de dimensiones
- Contenido de los datos: almacene datos de dimensiones de todas las empresas: fecha, región, gasolinera, centro de llamadas, almacén y otras tablas de dimensiones.
- Fuente de datos: datos dimensionales extraídos de datos detallados de DWD
- Diseño de almacenamiento: tabla ordinaria de Hive, archivo orc + compresión Snappy
- Características: pequeña cantidad, pocos cambios, colección completa.
- Diseño de almacén de datos
- De arriba a abajo: educación en línea: primero aclare las necesidades y los temas, luego recopile y procese datos en función de las necesidades de los temas.
- Escenario: hay menos aplicaciones de datos y requisitos relativamente simples
- De abajo hacia arriba : Fabricación integral: unifique todos los datos de toda la empresa en el almacén de datos para la preparación del almacenamiento y obtenga datos de forma dinámica y directa según las necesidades futuras.
- Escenario: Hay muchas aplicaciones de datos y el negocio es complejo.
- De arriba a abajo: educación en línea: primero aclare las necesidades y los temas, luego recopile y procese datos en función de las necesidades de los temas.
- ODS : Capa de datos sin procesar: la capa más cercana a los datos originales, capa de recopilación y escritura directa: tabla de hechos de la transacción original
-
diseño de modelado
-
Método de modelado: modelado dimensional
-
Diseño dimensional: esquema de estrella
-
Dimensiones comunes
- dimensión de fecha y hora
- Dimensión Año, Dimensión Trimestre, Dimensión Mes, Dimensión Semana, Dimensión Día
- Relación día a día, relación semana a semana, relación mes a mes, relación día a día, relación semana a semana, relación mes a mes
- Anillo a anillo: comparaciones dentro del mismo período
- Interanual: comparación del período anterior
- Dimensión del área administrativa
- Nivel regional: dimensión de país, dimensión de provincia, dimensión de ciudad, dimensión de condado, dimensión de municipio
- Dimensiones de los puntos de servicio.
- Nombre de la sucursal, número de sucursal, provincia, ciudad, condado, institución afiliada
- Dimensión de la gasolinera
- Tipo de gasolinera, nombre de la gasolinera, número de gasolinera, número de cliente, nombre del cliente, provincia, ciudad, condado, estado de la gasolinera, empresa afiliada
- Dimensión de la organización
- N° de personal, Nombre del personal, N° de puesto, Nombre de puesto, N° de departamento, Nombre de departamento
- dimensión del tipo de servicio
- Número de tipo, Nombre de tipo
- Dimensiones del dispositivo
- Tipo de equipo, número de equipo, nombre del equipo, número de pistolas de aceite, tipo de bomba, tipo de software
- Dimensión del tipo de falla
- Número de falla de primer nivel, nombre de falla de primer nivel, número de falla de segundo nivel y nombre de falla de segundo nivel
- Dimensión de la empresa de logística
- Número de empresa de logística, nombre de la empresa de logística
- dimensión de fecha y hora
-
Matriz de dimensiones del tema
-
-
- resumen
- Dominar el diseño jerárquico y el diseño de modelado de proyectos de fabricación integrales.
17: Resumen del proyecto: optimización y nuevas funciones
-
Objetivo : Dominar el esquema de optimización en el proyecto de fabricación integral.
-
implementar
-
Optimización : consulte el documento de optimización en "Entrevista de empleo" en FTP
-
Optimización de recursos: habilite atributos para asignar más recursos y asigne memoria de manera razonable
-
Optimización del desarrollo: pushdown de predicados: intente filtrar datos innecesarios por adelantado [unirse]
- Intente elegir un operador con agregación del lado del mapa: primero agregue dentro de la partición y luego agregue entre particiones
- Intente filtrar los datos que no necesitan unirse o implementar Broadcast Join
-
Optimización de la estructura: tipo de almacenamiento de archivos, estructura de partición
-
Tabla de particiones: poda de particiones estáticas
select count(*) from table1 where daystr = '2021-10-15'; --走分区裁剪过滤查询
--spark2中先join后过滤 select * from table1 join table2 on table1.id = table2.id and table1.daystr = '2021-10-15' and table2.daystr='2021-10-15';
-
-
-
Nuevas características: Spark3.0
-
Poda de partición dinámica
-
La poda de partición predeterminada solo es válida para el filtrado de consultas de una sola tabla
-
Habilite la poda dinámica de particiones: consulte y filtre automáticamente los datos de ambas tablas según las condiciones durante la unión y luego una los resultados filtrados.
spark.sql.optimizer.dynamicPartitionPruning.enabled=true
-
-
Ejecución de consultas adaptables
-
Basado en el motor optimizador CBO: procesamiento de datos con coste mínimo
-
Establezca automáticamente la cantidad de reductores [ShuffleRead] de acuerdo con la información estadística para evitar el desperdicio de memoria y recursos de E/S
-
Seleccione automáticamente una mejor estrategia de unión para mejorar el rendimiento de las consultas de conexión
-
Optimice automáticamente los datos de unión para evitar la distorsión de datos causada por consultas desequilibradas y reparticione automáticamente los datos con datos sesgados.
spark.sql.adaptive.enabled=true
-
-
-
-
resumen
- Domine el esquema de optimización en el proyecto de fabricación integral.
18: Resumen del proyecto: preguntas
-
Objetivo : Dominar los problemas y soluciones encontrados en el proyecto de fabricación integral.
-
implementar
-
Problema 1: Inconsistencia en la recopilación de datos
- Fenómeno: la cantidad de registros en la tabla de Hive no coincide con la cantidad de registros en Oracle
- Motivo: el campo de datos de Oracle contiene campos especiales. Cuando Sqoop recopila, se utilizan caracteres especiales como saltos de línea para generar texto normal.
- resolver
- Solución 1: Reemplazar o eliminar campos especiales [no afecta los servicios de datos]
- Solución 2: reemplace el formato Avro
-
Problema 2: problema de sesgo de datos
- Reparticionamiento: redistribuir datos en más particiones
- Método de partición personalizado: partición Hash predeterminada [reduceByKey], partición de rango [sortBy]
- Filtre primero y luego únase, o utilice la unión por difusión
-
Problema 3: problema de archivos pequeños
- Cada tarea generará un archivo de resultados.
- El número de tareas está determinado por el número de particiones.
- Más particiones, menos datos por partición
- Ajustar el número de particiones: repartición
-
Pregunta 4: Recursos insuficientes de ThriftServer, problema de GC
start-thriftserver.sh \ --name sparksql-thrift-server \ --master yarn \ --deploy-mode client \ --driver-memory 1g \ --hiveconf hive.server2.thrift.http.port=10001 \ --num-executors 3 \ --executor-memory 1g \ --conf spark.sql.shuffle.partitions=2
- Esencia: el programa Spark se ejecuta en YARN
- Proceso: Conductor + Ejecutor
- Problema: si los recursos de este programa se asignan menos, provocará una pausa en el GC [recolección de basura de memoria] y un desbordamiento de la memoria.
- El proceso del controlador es defectuoso, el programa se ejecuta lentamente y la memoria se desborda
- resolver
- Es necesario proporcionar más recursos al conductor: el conductor se ejecuta de manera persistente, analiza continuamente las tareas de programación y es responsable de interactuar con los clientes.
- –núcleo del controlador: 4 núcleos
- –memoria-controlador: 12 GB
- El número de Ejecutores se da más.
- Es necesario proporcionar más recursos al conductor: el conductor se ejecuta de manera persistente, analiza continuamente las tareas de programación y es responsable de interactuar con los clientes.
-
Pregunta 5: Punto único de falla de ThriftServer
- Similar al problema del punto único de falla de HiveServer2
- Solución: estructura de alta disponibilidad HA, cree dos ThriftServer
- Solución 1: inicie dos ThriftServers en dos máquinas respectivamente
- Pregunta: beeline solo puede conectarse a uno, ¿a quién conectar? Si eliges uno al azar, ¿qué debes hacer si falla?
- Solución: herramienta HAproxy, configuración de operación y mantenimiento
- Solución 2: utilice ZK para implementar elecciones auxiliares, una activa y otra en espera
- Native HiveServer2 puede modificar directamente la configuración para lograr
- Modificar el código fuente
- Solución 1: inicie dos ThriftServers en dos máquinas respectivamente
-
-
resumen
- Dominar los problemas y soluciones encontrados en proyectos de fabricación integral.
19: Resumen del proyecto: escala de datos
- Objetivo : dominar la escala de datos en proyectos de fabricación integrales
- implementar
- ¿Cuál es el incremento de datos diario?
- El número total de tablas de datos en el proyecto: más de 300 tablas
- Tabla de hechos de transacciones del negocio principal: 100 tablas
- Incremento de hechos para cada transacción principal: 170.000 artículos/día
- El tamaño medio de cada dato: 1 KB
- Rango incremental total de datos por día: 16 GB
- ¿Cuántas máquinas hay en el clúster?
- Capacidad de almacenamiento por máquina: 20 TB
- Ratio disponible de cada máquina: 80%
- Capacidad disponible por máquina: 16TB
- Almacenamiento total de datos durante cinco años: 16 * 3 * 365 * 5 = 6 DataNode/NodeManager
- ¿Tamaño del equipo del proyecto?
- Tome 12 personas como ejemplo: gerente de proyecto: 1, gerente de producto: 1, fuera de línea: 5 personas, sistema web: 2 personas, prueba: 2 personas, operación y mantenimiento: 1 persona
- ¿Cuál es el incremento de datos diario?
- resumen
- Domine la escala de datos en proyectos de fabricación integrales
20: Resumen del proyecto: plantilla de currículum
项目名称:一站制造大数据项目(2021年1月-2021年9月)
项目架构:
spark2.4+hive2.1+hadoop2.7+sqoop1.4+oracle11g+mysql5.7+airflow2.0
项目简介:
一站制造项目基于工业互联网行业,为解决基于传统数据存储架构无法解决的问题而开发的大数据项目。在石油制造行业存在大量运营、仓储物料数据,通过大数据技术架构解决这种复制业务情况下的数据存储和分析以及数据可视化问题。主要基于hive数据分层构建存储各个业务指标数据,基于sparksql做数据分析。核心业务涉及运营商、呼叫中心、工单、油站、仓储物料等业务。
个人职责:
1.负责将存储在关系型数据库中的业务系统数据导入hdfs上。
2.根据原始数据表,批量创建hive表,设置分区、存储格式。
3.根据业务关联关系以及分析指标,建立数仓模型。
4.实现数据模型中的各个数仓分层的数据建模,建表。
5.负责实现每个分层的数据抽取、转换、加载。
6.负责编写shell实现sqoop脚本批量导入数据。
7.负责编排sqoop导入数据的任务调度。
8.负责使用sparksql进行数据应用层指标进行分析。
- Aplicación de big data industrial: https://zhuanlan.zhihu.com/p/166300187
- Empresas de la industria petrolera y energética: https://top.chinaz.com/hangye/index_qiye_shihua.html
- Plataforma de análisis de datos empresariales: Youmeng, talkdata, Sensors