No sé cómo construir una plataforma de big data, mi jefe me optimizó ...

"

Con el rápido desarrollo de los negocios, la informatización es el soporte de los negocios y cada empresa ha establecido su propio sistema de informatización.


image.png

Imagen de Pexels


En el proceso de crecimiento empresarial, cada empresa ha acumulado algunos datos sin saberlo. Independientemente de la cantidad de datos, las empresas quieren dejar que "los datos hablen" y, en última instancia, proporcionar información valiosa para la empresa mediante la recopilación, el almacenamiento, el análisis y el cálculo de datos.


En este momento, el establecimiento de una plataforma de Big Data es un problema que enfrentan las empresas ¿Cuáles son las ideas para construir una plataforma de Big Data? ¿Qué tipo de camino de construcción puede hacer que las empresas eviten desvíos? ¿Qué tipo de arquitectura es el estándar de la industria? ¿Qué medios se utilizan para analizar y visualizar los datos existentes?


Quizás estas preguntas permanezcan en su mente, así que echemos un vistazo a cómo responderlas hoy.


Ideas para construir una plataforma de big data


De hecho, debes tener una meta para hacer todo y luego formular una idea basada en esta meta de acuerdo a tus propias condiciones y circunstancias externas, esta idea también puede entenderse como un camino para lograr la meta. Entonces, la plataforma de big data no es una excepción.


Herramientas de script


En la etapa inicial de recopilación, almacenamiento y análisis de datos, los programadores suelen utilizar algunos scripts para completar la recopilación y el análisis de datos en función de las necesidades comerciales.


En la superficie, completa algunas funciones de manipulación de datos y también satisface las necesidades de los usuarios, sin embargo, al escribir scripts, todos son "dolores de cabeza y dolor de pies", y solo proponen soluciones para problemas específicos de datos.


No existe una solución unificada, y no hay abstracción y extracción para algunas funciones básicas y comunes, lo que genera mayores costos de mantenimiento del script y mayores costos para su uso posterior. Existe la sospecha de recrear ruedas y la eficiencia no es alta.


Por lo tanto, diremos que estos componentes de secuencias de comandos se empaquetan en herramientas y se proporcionan a los clientes en forma de líneas de comando o interfaces de interfaz de usuario.


De esta manera, la experiencia del script se ha resumido y refinado, toda la herramienta se considerará más reflexiva que los componentes y se mejorará la eficiencia.


Servicio de herramientas


Algunos requisitos de datos se pueden cumplir con herramientas, pero debido a que las herramientas se ejecutan localmente, no pueden aprovechar las características comunes.


Para que la herramienta sea más ampliamente utilizada, se lanza como un servicio a la nube. En este momento, el personal de la empresa puede acceder a la herramienta de big data donde hay una red, para realizar el trabajo de cálculo y análisis y romper la limitación geográfica.


Plataforma de servicios


Ahora que hay servicios en la nube, estos servicios se agregarán para permitir que los servicios relacionados se comuniquen entre sí para producir una "reacción química", aportando así un mayor valor a los usuarios.


Al mismo tiempo, se pueden conectar múltiples fuentes de datos a la plataforma y estos servicios se pueden utilizar para brindar a los clientes un mayor valor.


En este momento, las fuentes de datos, los servicios y las necesidades de los clientes son todos diferentes, por lo que la integración a través de la plataforma mostrará un mayor poder.


El popular sistema SAAS es un buen ejemplo: utiliza usuarios de múltiples inquilinos e integra recursos para proporcionar servicios de datos de alta calidad.


Productización de la plataforma


Ahora que se ha creado una plataforma de big data, integra recursos de todos los aspectos de los datos, los servicios y las necesidades (clientes).


Si continúa desarrollándose, necesita establecer diferentes escenarios comerciales para diferentes necesidades de los usuarios Debido a las diferentes industrias, los diferentes entornos internos y de mercado de la empresa, los escenarios de aplicación de big data también son muy diferentes.


En este momento, es posible que no sea apropiado proporcionar servicios de datos unificados. En este momento, los servicios empresariales deben personalizarse para industrias y subdivisiones.


Resuma y divida el negocio subyacente de algunas industrias para brindar a los usuarios más espacio para la personalización, y salga de diferentes productos de big data para diferentes industrias y escenarios de uso, y dárselos a los usuarios.image.png

Figura 1: Directrices para plataformas de big data


De scripts a herramientas, la transformación de servicios, plataformas y productos no es solo el proceso y los pasos del desarrollo de plataformas de big data, sino también el criterio para que empresas de diferentes tamaños construyan plataformas de big data.


¿Por qué dices eso? La tecnología siempre ha servido al negocio y la plataforma de big data es la misma. Siempre que los datos tengan un ímpetu positivo para la empresa, son la dirección correcta.


Al principio, puede realizar experimentos y prueba y error a través de scripts, acumular experiencia en el análisis y extracción de datos y obtener información valiosa para el negocio.


Más tarde, a través de la iteración continua y la prueba y error, estas experiencias se transformarán de script → herramienta → servicio → plataforma → producto.


Partiendo del final de esta manera, se reducen los desvíos en el desarrollo y se mejora la eficiencia Lo más importante es que las cosas hechas sean valiosas y la inversión del jefe sea visible.


Cada empresa también puede elegir el punto de entrada correspondiente de acuerdo con su propia situación, en lugar de construir una plataforma de big data grande y completa, simplemente haga lo que más le convenga.


El camino de la construcción de la plataforma de big data


Después de hablar sobre la idea básica de construir una plataforma de big data, sabemos que podemos elegir una idea de construcción de plataforma de big data que se adapte a nosotros para diferentes escalas de negocios y diferentes etapas de desarrollo.


Entonces, aquí está cómo construir una plataforma de big data, qué tipo de ruta de construcción puede ayudarnos a aterrizar la plataforma de big data, aquí está la discusión en dos aspectos.


Métodos de construcción para escenarios comerciales


Como se mencionó anteriormente, la idea de comenzar desde el final es establecer una plataforma de big data para los escenarios comerciales específicos que enfrenta la empresa y dejar que los datos desempeñen un papel en el negocio específico, que puede reflejar mejor el valor de los datos.


Por ejemplo: la empresa necesita realizar actividades fuera de línea para atraer nuevas, supongamos que esta vez atrae a 10,000 personas nuevas. El grupo objetivo son los estudiantes de las escuelas, entonces, ¿cuánto tiempo tomará, cuántas escuelas y cuántas casetas se colocarán para lograr el efecto? Estos se pueden analizar a través de los datos existentes en el sistema empresarial para obtener los resultados.


Por tanto, las ventajas de este enfoque son:

  • Estrechamente integrada con negocios específicos, la lógica comercial se puede personalizar de acuerdo con la situación comercial de la empresa, para maximizar las necesidades coincidentes.

  • Los efectos de interacción y la complejidad empresarial entre los desarrolladores técnicos y el personal empresarial son controlables, e incluso se acoplan sin problemas, básicamente protegiendo el contenido irrelevante para la empresa para garantizar la facilidad de uso. Los usuarios de los requisitos definidos por el personal empresarial son el personal empresarial mismo. 

  • Contrapartes profesionales, no consideran la versatilidad de la plataforma y no necesitan considerar el acoplamiento con otras plataformas y aplicaciones. La plataforma general lleva poco tiempo, se forma rápidamente y tiene efectos obvios.


Las desventajas de este enfoque son:

  • Se limita a escenarios comerciales fijos con escasa escalabilidad y carece de una consideración general de toda la industria y el sistema.

  • Puede hacer trabajos de construcción repetidos, a largo plazo, la eficiencia de desarrollo no es alta. 


Cómo construir componentes comunes


"General", como su nombre lo indica, separa las funciones generales de la plataforma de big data, normalmente estas funciones no tienen nada que ver con la implementación empresarial específica.


Se utilizará en cualquier escenario empresarial, como: recopilación de datos, importación de datos, cálculo de datos, búsqueda de datos, visualización de datos, etc.


Después de permitir que se lleve a cabo la encapsulación de las funciones comerciales sobre la base de estas funciones / módulos básicos, el propósito es muy claro, prepararse para el desarrollo comercial a más largo plazo.


Este tipo de método de construcción no solo se enfoca en la implementación del negocio actual, sino que también se relaciona con la expansión de plataformas en diferentes escenarios comerciales e industrias en el futuro.


Las ventajas de este enfoque son:

  • Como base de la plataforma de big data, las funciones generales se pueden ampliar para diferentes escenarios comerciales.

  • Misma función para evitar la duplicación de ruedas, desacoplando funciones técnicas y requisitos comerciales.

  • Habrá más consideraciones para el diseño de la arquitectura, una comprensión más profunda de la industria y más consideraciones para los escenarios de uso.


Las desventajas de este enfoque son:

  • El diseño de la arquitectura es difícil, con muchas consideraciones y un ciclo de desarrollo largo.

  • La carga relacional del módulo en la arquitectura complica el desarrollo.

  • Existen requisitos para las capacidades de abstracción empresarial y se requiere una amplia experiencia en una o más industrias, y la comprensión empresarial es costosa.


Los dos métodos de construcción anteriores basados ​​en componentes comerciales y comunes tienen sus propias ventajas y desventajas. Cuando una empresa crea una plataforma de big data, necesita tomar una decisión basada en su propia situación.


Si se trata de una empresa que recién está comenzando con big data, se recomienda utilizar el método anterior, explorar mientras se hace, resumir y reconstruir y, finalmente, pasar al segundo método.


Si una empresa tiene una gran acumulación de tecnología y negocios de plataformas de big data, puede considerar tomar la segunda vía desde una perspectiva superior.


大数据平台的实现架构


说了大数据平台的思路和实现路径以后,再来从技术架构的角度来看看如何落地。


有的企业会借鉴其他企业的成功案例,有的企业会根据自身情况进行摸索。笔者在这里给出的建议是依托方法论,结合企业实际情况,参照行业经典案例进行构建。说起来有点虚,来看看具体的架构实现。


Lambda 架构


Lambda 架构(Lambda Architecture)是由 Twitter 工程师南森·马茨(Nathan Marz)提出的大数据处理架构。


这一架构的提出基于马茨在 BackType 和 Twitter 上的分布式数据处理系统的经验。image.png

图 2:Lambda 架构示意图


如图 2 所示,Lambda 共分为三层,分别是批处理层(Batch Layer),速度处理层(Speed Layer),以及服务层(Serving Layer)。


下面来看看他们分别有什么作用:

  • 批处理层(Batch Layer),存储管理主数据集和预先批处理计算好的视图。这部分数据对及时性要求不高,会采取批处理的方式同步到主库中,通常以定时任务的形式存在。

  • 速度处理层(Speed Layer),会处理实时数据。由于对数据及时性的要求,这部分数据会通过内存计算出结果,马上提供给使用者,同时对于数据的准确性要求也不高。

    会通过批处理层入库以后针对部分数据进行校验,通常以 Storm 之类的应用的形式出现。

  • 服务层(Serving Layer),数据进入到平台以后,会进行存储、同步、计算、分析等过程。但是,最终都是需要提供给用户使用的。由于用户使用的方式和业务试图的差异性,需要有一个服务对其进行权衡。

    服务层就应运而生了,它主要负责以服务的方式将数据提供给终端客户,其形式有报表、仪表盘、API 接口等等。


如果说 Lambda 架构是方法论的话,那么每个企业会根据其建立自己的大数据平台,从架构方面来看,都大同小异。image.png

图 3:大数据平台技术架构


如图 3 所示大数据平台由上到下,可分为:

  • 数据采集

  • 数据处理

  • 数据输出与展示


①数据采集


这里包括从多个源头收集数据信息,例如:浏览器、移动设备、服务器日志文件。


再将这些信息数据和日志等同步到大数据系统中,注意同步的过程需要考虑数据源和数据结构的差异。


同步会使用 Sqoop,日志同步可以选择 Flume,行为数据采集经过格式化转换后通过 Kafka 等消息队列进行传递。


这些数据在解决了数据源和数据异构以后,还需要进行数据清洗,特别是日志和爬虫数据,需要提取对业务有意义的数据进行存储。


②数据处理


同步的数据存储在 HDFS 之类的分布式数据库中。可以通过 MapReduce、Hive、Spark 等计算任务读取 HDFS 上的数据进行计算,再将计算结果写入 HDFS 或者其他库。


这里会根据数据的及时性分为离线计算和实时计算,刚好和 Lambda 中的批量处理和速度处理相对应。


比如针对用户的购物行为进行关联性数据挖掘,这时候数据量大、逻辑复杂,需要较长的运行时间,这类计算可以使用离线计算来处理。


另外对处理时间敏感的计算,比如双 11 每秒产生的订单数,为了及时地展示和监控,会采用流式计算。


通常用 Storm、Spark Steaming 等流式计算引擎完成,可以在秒级甚至毫秒级内完成处理。


③数据输出与展示


有了采集和处理就一定会面对输出和展示。一般来说通过应用程序直接访问数据库来完成数据展示。


由于对于业务、市场、管理的复杂性,对外需要展示客户、竞争对手、产品的信息;对内需要根据操作层、管理层、决策层进行数据的聚合和汇总。对数据输出和展示有一定要求。后面我们会针对这部分进行展开说明。


由于通过上面三个部分需要写作完成采集、同步、存储、计算、展示的工作,因此需要任务调度管理系统对其进行协调调用。


大数据平台驱动业务运营


前面我们说了如何在企业中落地大数据平台,其中提到了以终为始的概念,大数据平台最终还是需要为业务运营系统提供正向推力的。有了大数据平台就需要用好它,从中挖掘出更多的商业价值。


通常的情况是这样的,根据公司战略目标以及公司目前的能力和外部的威胁和机会,公司会定义一个战略思路。


这个是公司发展的纲领,围绕这个战略纲领业务部门和运营部门对其进行分析和拆分,生成业务需求,然后从这个业务需要推到出需要哪些关键要素(节点)。


再来看这些关键要素需要哪些数据为其进行决策和支撑。最后,将这些要素变成业务需求提交给产品团队进行分析,然后交由大数据技术团队完成对应的功能。image.png

图 4:大数据平台驱动业务运营


从思考过程来看是现有业务再才有大数据平台的功能,但是从执行层面来看。


为了实现业务的功能业务人员是先要到大数据平台上面获取对应的信息,再才能实现业务决策和行为。


例如上面提到的拉新的例子,业务人员为了达到拉新 1 万人的目的,会先到大数据平台搜索。


针对产品的受众,偏好、价格、沟通方式、市场、促销等方面的问题,获取对他们有价值的信息,例如:在哪些学校、针对什么年级的学生、开辟多少展位完成这次活动。


因此在执行过程中是大数据本身的价值在驱动业务前行的。思考和行动在方向上正好相反。


数据可视化平台的实践


既然要对企业的主要业务进行驱动和推动的作用,那么就不得不提到大数据平台的可视化以及展示功能了。


作为可视化的大数据平台需要从以下几个方面进行实践:


①用户管理与权限


平台的建立是为用户服务的,首先要标定服务的用户。由于用户的多样性,有的是企业内部客户,有的是合作伙伴,还有终端用户。


因此需要考虑:

  • 用户的权限和角色管理。

  • 业务分组功能,针对业务分类、子分类对用户进行划分。

  • 根据数据功能进行不同的安全等级管理,包括流程管理。

  • 支持对原数据的检索和浏览。


②多样化的产品功能


由于使用者的不同,导致面向的业务场景也会有所不同。那么针对不同的业务场景就要展示不同的数据输出:

  • 提供多种图表、报表功能。

  • 针对图表、报表提供自定义字段、过滤器功能。

  • 增加组织视图和个人视图从不同角度审视数据。


③对其他系统的集成功能


即便大数据平台已经整合了企业级别的各种数据,拥有多种数据源,但是依旧存在短板。


Si se integra para otros sistemas comerciales o sistemas de producción, a través de la integración de funciones y datos, los datos se asociarán con mayor energía:

  • Integre sistemas ERP empresariales, ascendentes y descendentes y de la cadena de suministro.

  • Combinar con datos de la industria e indicadores económicos nacionales.

  • Integre con sistemas comunes de correo, notificación y eficiencia.


para resumir


Comenzando con la idea de construir una plataforma de big data como punto de entrada, a través de varias etapas progresivas de scripts, herramientas, servicios, plataformas y productos, describe que las empresas pueden adoptar diferentes ideas en diferentes etapas de desarrollo.


Si hay ideas, hay dos formas de ejecutarlas: escenarios comerciales y componentes comunes.


Al aterrizar en la arquitectura de la plataforma de big data, utilice la metodología de la arquitectura Lambda para recopilar, procesar y mostrar datos. La plataforma de Big Data es para crear valor para el negocio, a su vez, la plataforma también puede impulsar el desarrollo del negocio.


A través de la práctica de la plataforma de visualización de bases de datos, el personal de la empresa puede generar enlaces a través de diversas funciones de datos y plataforma de big data, y finalmente generar valor comercial.


Supongo que te gusta

Origin blog.51cto.com/14410880/2545889
Recomendado
Clasificación