Serie de tutoriales sobre arquitectura de aplicaciones de datos inteligentes y big data: visualización de big data y análisis de informes

Autor: Zen y el arte de la programación informática

1. Introducción

Con el vigoroso desarrollo de nuevas aplicaciones de big data como Internet, Internet móvil e Internet de las cosas, el procesamiento, análisis y aplicación de datos tradicionales ya no pueden satisfacer la creciente demanda. La popularización de la tecnología de big data también ha traído nuevos desafíos: cómo extraer información efectiva de datos masivos, obtener información sobre oportunidades comerciales, predecir tendencias del mercado y formar soporte para la toma de decisiones se ha convertido en una necesidad muy urgente. Por tanto, los sistemas de visualización y análisis de informes basados ​​en tecnología big data son fundamentales en todos los ámbitos de la vida.

Este artículo analizará exhaustivamente el sistema de visualización y análisis de informes desde la perspectiva de "big data", explicará las tendencias de desarrollo y los escenarios de aplicación de la visualización de big data y el análisis de informes, y proporcionará soluciones. El artículo está dirigido principalmente a personal técnico en campos de aplicaciones industriales y departamentos relacionados de universidades. A través de este artículo, los lectores pueden comprender el marco general, los indicadores técnicos clave y los procesos de aplicación del sistema de análisis de informes y visualización de big data, y luego dominar las habilidades técnicas de la visualización de datos y el análisis de informes.

2. Introducción a los antecedentes

¿Qué son los grandes datos?

En términos generales, big data se refiere al almacenamiento, procesamiento y análisis de colecciones de datos masivas, diversas y de alta velocidad, sus características incluyen principalmente los siguientes puntos:

  1. Volumen: se refiere al problema de sesgo de datos que ocurrirá cuando el tamaño del conjunto de datos exceda una cierta escala.
  2. Velocidad: se refiere a la adquisición, almacenamiento, transmisión, procesamiento y otros procesos de datos que deben realizarse muy rápidamente.
  3. Variedad: se refiere a fuentes de datos que pueden incluir diferentes formas de medios como texto, imágenes, videos, audio, tráfico de red, etc., y existe una amplia variedad de tipos de datos.
  4. Valor agregado: se refiere a datos que tienen valor comercial real o importancia indicadora y pueden usarse para predecir tendencias del mercado o respaldar la toma de decisiones.

Se puede ver que big data se refiere a una colección de datos que es masiva, de alta velocidad, diversa y de gran valor, y también tiene las características de correlación compleja, interpretación repetida, cambio rápido y crecimiento rápido. Por lo tanto, para este enorme e interminable conjunto de datos, cómo administrar, extraer, analizar y presentar los datos de manera conveniente se ha convertido en un desafío muy desafiante.

¿Por qué necesitamos visualización de big data y análisis de informes?

Con la popularidad de Big Data, cada vez más empresas procesan Big Data. Para hacer que los datos sean más intuitivos y comprensibles, reducir el costo de mantenimiento de la empresa y mejorar la eficiencia del trabajo, muchas empresas han comenzado a utilizar tecnología de visualización de datos. Análisis, como visualización de informes, visualización de gráficos de seguimiento empresarial, construcción de herramientas de BI inteligentes, etc.

Sin embargo, debido a la gran cantidad de datos, las múltiples dimensiones y la estructura compleja, la construcción e implementación de sistemas de visualización a menudo lleva una cierta cantidad de tiempo, por lo que la selección y el uso de herramientas de visualización están recibiendo cada vez más atención. Actualmente, las tecnologías de visualización comunes se pueden dividir en las siguientes categorías:

  1. Visualización de datos: incluidos gráficos estadísticos de datos, mapas de datos, diagramas de relaciones de datos, mapas de calor, etc.
  2. Visualización de informes: por ejemplo, utilice Tableau, Davinci Chart, Power BI y otras herramientas para crear informes.
  3. Herramientas de BI inteligentes: utilice suites de inteligencia empresarial y algoritmos de minería de datos para proporcionar soluciones de BI personalizadas.

Estas herramientas de visualización pueden ayudar a los usuarios a comprender rápidamente datos complejos e implementar análisis de datos de manera interactiva.

Descripción general de la arquitectura del sistema visual

La siguiente es una introducción a la arquitectura del sistema de visualización, que consta de tres módulos principales:

  1. Módulo de adquisición de datos: Su función principal es obtener fuentes de datos externas y almacenarlas como una o más tablas en el data warehouse.
  2. Módulo de limpieza de datos: Su función principal es limpiar datos y eliminar datos sucios, datos de ruido, datos erróneos, etc.
  3. Módulo de visualización de datos: su función principal es proporcionar funciones de visualización de datos. Entre ellos, el módulo de conversión de datos es responsable de convertir los datos originales a un formato que pueda usarse para visualización; el módulo de codificación de datos es responsable de codificar los datos para que puedan adaptarse a los estándares de visualización de la computadora; el módulo de representación de datos es responsable de presentar los resultados codificados al usuario.

Hay tres arquitecturas de herramientas de visualización de uso común:

  1. Arquitectura integrada de front-end: este tipo de arquitectura encapsula las herramientas de visualización como complementos del navegador, que se pueden instalar directamente en el navegador para su uso. La ventaja es que la herramienta de visualización es fácil de usar y fácil de usar, pero la desventaja es que consume muchos recursos del servidor.
  2. Arquitectura integrada del lado del servidor: este tipo de arquitectura utiliza la herramienta de visualización como una aplicación del lado del servidor, la llama a través de la interfaz HTTP y devuelve los resultados al navegador para su visualización. La ventaja es que no es necesario instalar complementos adicionales, no ocupa recursos del servidor y se puede integrar fácilmente con otros servicios, la desventaja es que es engorroso de usar y es difícil sentir los datos intuitivamente. .
  3. Arquitectura integrada en el cliente: este tipo de arquitectura incorpora herramientas de visualización en el cliente y las ejecuta como aplicaciones independientes. La ventaja es que no es necesario instalar y configurar el servidor, acceder directamente a la fuente de datos ni utilizar la potencia informática local para mejorar el rendimiento. La desventaja es que depende del entorno de hardware local y debe considerar la compatibilidad entre plataformas. .

Con base en la introducción anterior a la arquitectura del sistema de visualización, a continuación se detallan los puntos de conocimiento de la visualización de big data y el análisis de informes.

3. Explicación de conceptos y términos básicos

(一)ETL(Extraer-Transformar-Cargar)

ETL se refiere a la extracción, transformación y carga de datos, es decir, extraer datos de diversas fuentes (como bases de datos, sistemas de archivos, colas de mensajes, correos electrónicos, etc.), limpiarlos, filtrarlos, convertirlos y verificarlos, y luego cargarlo en el sistema de destino (como base de datos, sistema de archivos, etc.). Es una parte importante del almacén de datos y es el componente central del almacén de datos. El propósito de ETL es transformar uniformemente datos de fuentes de datos heterogéneas en la estructura interna del almacén de datos, eliminar datos duplicados, datos anormales y datos faltantes, y lograr la purificación del almacén de datos.

ETL generalmente se divide en las siguientes etapas:

  1. Conexión de fuentes de datos: ETL extrae datos de varias fuentes (como Oracle, MySQL, etc.) y llama a los métodos correspondientes de acuerdo con los protocolos y API de diferentes fuentes de datos para leer los datos.
  2. Limpieza de datos: ETL limpia, filtra, convierte y verifica los datos originales obtenidos, y elimina datos desordenados, repetitivos y erróneos.
  3. Transformación de datos: ETL transforma los datos limpios en la estructura requerida para el almacén de datos.
  4. Carga de datos: ETL carga los datos convertidos en el sistema de destino del almacén de datos (como Oracle, MySQL, etc.).

La frecuencia de ejecución de ETL depende del tamaño del volumen de datos, la frecuencia de actualización de los datos y la calidad de los datos, generalmente una vez al día, una vez a la semana o una vez al mes.

(2) colmena

Hive es una infraestructura de almacén de datos distribuidos de código abierto en el ecosistema Hadoop. Es un sistema especialmente utilizado para consultar y analizar datos masivos, puede servir como base de datos y también se puede utilizar para procesar datos no estructurados y semiestructurados. Su característica más importante es que divide los datos en columnas según el almacenamiento en columnas para reducir la E/S del disco y la sobrecarga de memoria y mejorar el rendimiento de las consultas.

El modelo de datos básico de Hive es una tabla que consta de una serie de columnas y filas. Cada columna tiene un nombre y un tipo de datos, y cada fila corresponde a un conjunto único de valores. Hive también admite tipos de datos complejos, como matrices, mapas, estructuras, uniones, etc.

La interfaz SQL de Hive proporciona una rica biblioteca de funciones que puede consultar, agregar, unir y otras operaciones en tablas a través de declaraciones SQL. El almacenamiento de datos de Hive utiliza HDFS (Sistema de archivos distribuido Hadoop) de forma predeterminada y proporciona formatos de almacenamiento personalizados.

Hive se puede combinar con Spark para proporcionar consultas de análisis de alto rendimiento. Spark SQL puede consultar directamente tablas en Hive para lograr el intercambio y el procesamiento de datos.

(3) Colmena SQL

El lenguaje SQL compatible con Hive tiene una sintaxis SQL ANSI/ISO similar a MySQL, amplía su propia sintaxis y agrega una sintaxis única.

La declaración SELECT se usa para recuperar datos de las tablas de Hive. Puede usar WHERE, ORDER BY, LIMIT, GROUP BY y otras cláusulas para filtrar, ordenar y agregar los resultados. Los operadores aritméticos admitidos incluyen +, -, *, /, %, etc. Los operadores condicionales admitidos incluyen =, !=, >, <, >=, <=, etc.

La instrucción INSERT INTO se utiliza para insertar datos en la tabla de Hive. Si la tabla no existe, créela primero.

La instrucción CREATE TABLE se utiliza para crear una tabla de Hive y especificar atributos como el nombre de la tabla, el nombre de la columna, el tipo de datos, etc.

La declaración DROP TABLE se utiliza para eliminar tablas de Hive.

La declaración SHOW TABLES se utiliza para ver la lista de tablas de Hive existentes.

La declaración DESCRIBE FORMATTED se utiliza para ver la información de metadatos de la tabla, como nombres de columnas, tipos de datos, comentarios, etc.

(四)OLAP (Procesamiento analítico en línea)

OLAP, que significa procesamiento analítico en línea, es un método de análisis de datos multidimensional que realiza análisis y extracción de datos multidimensionales a través de una organización de datos de matriz cuadrada multidimensional. Sus principales ventajas son el tiempo real, la flexibilidad y las sólidas capacidades de visualización.

El sistema OLAP es un sistema integrado para resumir, analizar, tomar decisiones y predecir datos empresariales a gran escala, incluido el almacén de datos, la minería de datos, el análisis multidimensional, la consulta y visualización interactivas y otros componentes técnicos. El almacén de datos se utiliza para almacenar, organizar y analizar datos, la minería de datos se utiliza para descubrir patrones y tendencias del almacén de datos, el análisis multidimensional se utiliza para analizar datos, la consulta interactiva se utiliza para identificar posibles oportunidades comerciales de antemano y la visualización es Se utiliza para mostrar Analizar los resultados.

(五)OLTP(Procesamiento de transacciones en línea)

OLTP significa procesamiento de transacciones en línea, que es un sistema de procesamiento de transacciones de alto rendimiento que se utiliza principalmente para procesar solicitudes de consultas en tiempo real. El sistema OLTP consta de una base de datos, un motor de transacciones, una estructura de índice, un mecanismo de almacenamiento en caché, etc. La base de datos es un lugar donde se almacenan datos, incluidas tablas, vistas, procedimientos almacenados, activadores, etc. El motor de transacciones es responsable de enviar y revertir transacciones, la estructura de índice se utiliza para localizar rápidamente la ubicación de los datos y el mecanismo de almacenamiento en caché. Se utiliza para acelerar la consulta de datos.

El sistema OLTP se procesa de la siguiente manera:

  1. Procesamiento de transacciones: el procesamiento de transacciones significa que la base de datos realiza una serie de operaciones en un orden determinado para completar ciertas funciones o guardar datos. Una transacción generalmente contiene varias declaraciones. Si se produce algún error durante la ejecución, se revertirá toda la transacción.
  2. Procesamiento de consultas: el procesamiento de consultas se refiere a consultar los datos especificados en la base de datos. Cuando hay una gran cantidad de datos para recuperar, la base de datos debe minimizar la cantidad de lecturas del disco y utilizar un mecanismo de almacenamiento en caché para mejorar el rendimiento de las consultas.
  3. Procesamiento de actualización: el procesamiento de actualización se refiere a modificar o agregar datos que ya existen en la base de datos. Cuando los datos cambian, la base de datos registra automáticamente la versión anterior de los datos.

(6) Integración de datos de Pentaho

Pentaho Data Integration (PDI) es un software de integración de datos de código abierto que se puede utilizar para una serie de tareas de integración de datos como ETL, ELT, desarrollo de almacenes de datos, recopilación de datos, resumen de datos, conversión de datos, carga de datos y auditoría de datos. Sus objetivos de diseño son livianos, fáciles de usar y altamente escalables, y pueden satisfacer diversas necesidades de procesamiento de datos a nivel empresarial.

Las fuentes de datos admitidas por PDI incluyen bases de datos relacionales, registros basados ​​en archivos, API, etc. Tiene una serie de componentes comunes integrados, que incluyen programación programada, descarga de archivos FTP/SFTP, envío de correo electrónico, conexión de base de datos, análisis XML, inicio de sesión LDAP, ejecución de script de shell, etc., que pueden realizar una recopilación, conversión y carga de datos simples. , inspección, etc.

Los objetivos de salida de PDI incluyen bases de datos relacionales, CSV, Excel y otros archivos, Hadoop HDFS, JDBC, ActiveMQ, etc. Proporciona una interfaz visual amigable que puede ver intuitivamente la ejecución de tareas y puede rastrear fácilmente la ejecución de tareas y los errores de datos.

(7) Cuadro

Tableau es una herramienta de análisis de inteligencia empresarial que puede mostrar de forma rápida e intuitiva datos complejos y proporcionar a los usuarios paneles, paneles e informes de datos interactivos e intuitivos. Sus características principales son visualización intuitiva basada en datos, facilidad de uso, análisis vinculado y soporte para dispositivos móviles.

Las funciones principales de Tableau incluyen conexión de datos, importación de datos, limpieza de datos, combinación de datos, cálculo de datos, pivotación de datos, edición de vistas, exportación de datos, control de autorización, etc. Admite bases de datos relacionales convencionales y fuentes de datos NoSQL, incluidas MySQL, PostgreSQL, MongoDB, Amazon Redshift, Google BigQuery, Salesforce, SAP HANA, etc.

Tanto la versión Tableau Desktop como la Server se pueden utilizar para análisis personales y privados, pero la versión Server también admite la colaboración en equipo y proporciona servicios de implementación y análisis de la nube.

(8) Minero rápido

RapidMiner es una plataforma de aprendizaje automático basada en el lenguaje Python, que se puede utilizar para crear, entrenar y optimizar rápidamente modelos de aprendizaje automático. Sus funciones principales incluyen importación de datos, limpieza de datos, ingeniería de características, entrenamiento de modelos, evaluación y ajuste de hiperparámetros, inferencia y evaluación de modelos, lanzamiento e implementación de modelos, monitoreo y seguimiento de modelos, integración y servitización de modelos, etc.

RapidMiner también tiene algunos algoritmos de aprendizaje automático integrados, como SVM, Naive Bayes, Decision Tree, etc. RapidMiner admite los principales entornos Python y lenguajes de programación, incluidos Anaconda, IPython, Jupyter Notebook, PyCharm IDE, etc.

Además de implementar capacitación, evaluación, monitoreo y otras funciones del modelo, RapidMiner también puede implementar el modelo como una API RESTful para llamadas de otras aplicaciones para lograr portabilidad y escalabilidad del modelo.

Supongo que te gusta

Origin blog.csdn.net/universsky2015/article/details/133446317
Recomendado
Clasificación