解决方案:大数据实时计算及可视化相关组件介绍

优采云 发布时间: 2022-11-29 16:29

  解决方案:大数据实时计算及可视化相关组件介绍

  大数据实时计算与可视化相关组件介绍

  文章目录

  一、实时数据平台架构

  【外链图片传输失败,源站可能有防盗链机制,建议保存图片直接上传(img-KHp2HTV8-30)(实时数据采集分析可视化.assets/real -时间数据平台架构.png)]

  大数据实时计算平台的支撑技术主要包括七个方面:

  实时计算的典型特征:

  2 实时采集日志数据

  任何一个完整的大数据平台一般都包括以下流程:

  其中,数据采集作为大数据系统体系的第一环节尤为重要。随着大数据越来越受到重视,如何有效、正确地采集

数据才能最大程度避免信息孤岛,让数据产生更多价值,这使得数据采集

面临的挑战尤为突出,包括:

  下面为大家介绍目前可用的六款数据采集产品,深入了解

  2.1 Apache Flume原理介绍

  Apache Flume 是一个开源日志系统。作为一个分布式、可靠、高可用的海量日志聚合系统,不仅支持在系统中自定义各种数据发送方进行数据采集

;同时也提供简单的数据处理和写入各种数据的Receiver(可定制)能力。Flume支持将集群外的日志文件采集归档到HDFS、HBase、Kafka中,供上层应用分析、清洗数据,如下图所示:

  下面介绍一下Flume的核心概念

  2.1.1 代理结构

  Flume 的数据流是由事件贯穿的。Event是Flume的基本数据单元,承载日志数据(字节数组形式),承载头信息。Flume运行的核心是agent,Flume以agent作为最小的独立运行单元。它是一个完整的数据采集工具,收录

三个组件,即source、channel和sink。这些事件由代理外部的源生成。事件可以通过这些组件从一个地方流向另一个地方。

  当Source捕获到事件后,会执行特定的格式,然后Source将事件推送到(单个或多个)Channel中。Channel 可以被认为是一个缓冲区,它将保存事件,直到 Sink 完成对事件的处理。Sink 负责持久化日志或将事件推送到另一个 Source。Flume 事件被定义为一个数据流单元。Flume agent实际上是一个JVM进程,收录

了完成任务所需的各种组件,其中最核心的三个组件是Source、Chanel和Slink。

  2.1.2 基本概念(Source、Channel、Sink)

  Source负责通过一种特殊的机制接收事件或产生事件,并将事件批处理到一个或多个Channel中(Source必须关联至少一个channel)。有两种类型的源:驱动和轮询:

  来源类型:

  【外链图片传输失败,源站可能有防盗链机制,建议保存图片直接上传(img-GavJl6Ic-46)(实时数据采集分析可视化.assets/Source类型.png)]

  Channel 位于 Source 和 Sink 之间。Channel 就像一个队列,用于临时缓存传入的事件。当 Sink 成功将事件发送到下一跳通道或最终目的地时,事件将从通道中删除。

  不同的通道提供不同级别的持久性:

  Channels 支持事物,提供较弱的顺序保证,并且可以连接任意数量的 Sources 和 Sinks。

  2.1.3 Flume 的主要特点

  2.2 流利的

  Fluentd 在各个方面都与 Flume 非常相似。不同的是它是用Ruby开发的,占用空间会更小。但是也带来了跨平台的问题,无法支持Windows平台。此外,使用JSON统一数据/日志格式是它的另一个特点。与Flume相比,它的配置相对简单。

  2.3 日志存储

  Logstash 是一个应用日志和事件的传输、处理、管理和搜索的平台。可用于统一采集

和管理应用日志,并提供Web接口进行查询和统计。就是著名的开源数据栈ELK(ElasticSearch、Logstash、Kibana)中的L。几乎在大多数情况下,ELK同时被用作堆栈。只有当数据系统使用ElasticSearch时,首选logstash即可。

  2.4 楚夸语

  Apache Chukwa是apache下的另一个开源数据采集平台。上次 github 更新是 7 年前,项目应该已经不活跃了。

  2.5 抄写员

  

" />

  Scribe 是 Facebook 开发的数据(日志)采集

系统。它可以从各种日志源采集

日志,并存储在一个中央存储系统(可以是NFS、分布式文件系统等)中进行集中统计分析和处理。但是多年来一直没有得到维护。

  2.6 对比分析

  Flume 和 Fluentd 是两个广泛使用的产品。如果使用 ElasticSearch,Logstash 可能是首选,因为 ELK stack 提供了很好的集成。由于项目不活跃,不推荐使用 Chukwa 和 Scribe。

  3 消息队列

  没有最好的消息队列中间件(简称消息中间件),只有最合适的消息中间件。

  消息队列的常见使用场景:

  几种常用消息队列的比较

  比较有代表性的是kafka和rabbitMQ。下面分别介绍两者:

  3.1 Kafka原理介绍

  Kafka 是 LinkedIn 开发的高吞吐量分布式消息系统,用 Scala 编写。它是一个高吞吐量、分布式、基于发布-订阅的消息系统,同时支持离线和在线日志处理。使用Kafka技术,可以在廉价的PC Server上搭建一个*敏*感*词*的消息系统。目前,越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark、Flink等都支持与Kafka的集成。

  在Kafka中,根据保存消息时的主题,消息的发布者被描述为生产者,消息的订阅者被描述为消费者,中间的存储数组被称为代理(agent)。这三者都通过 Zookeeper 进行协调。

  3.1.1 Kafka架构及功能

  【外链图片传输失败,源站可能有防盗链接机制,建议保存图片直接上传(img-S3969YXk-76)(C:\Users\lee\Desktop\Real-time数据采集​​、分析与可视化\Kafka图片\Kafka架构.png)】

  基本概念:

  3.1.2 Kafka的特点 3.1.3 Kafka的应用场景

  Kafka与其他组件相比,具有消息持久化、高吞吐、分布式、多客户端支持、实时性等特点,适用于离线和在线消息消费,如定时消息采集、网站活动跟踪、大数据量的互联网业务的聚合统计系统运行数据(监控数据)、日志采集等数据采集场景。具体应用场景如下:

  日志采集

:一个公司可以使用Kafka采集

各种服务的日志,通过Kafka作为一个统一的接口服务开放给各种消费者,比如Hadoop、Hbase、Solr等;消息系统:与生产者和消费者、Cache消息等解耦;用户活动跟踪:Kafka常用于记录web用户或app用户的各种活动,如浏览网​​页、搜索、点击等活动。可以通过订阅这些主题进行实时监控和分析,也可以加载到Hadoop或数据仓库中进行离线分析和挖掘;运营指标:Kafka也经常被用来记录运营监控数据。包括采集各种分布式应用的数据,产生各种操作的集中反馈,如告警、报表等;流处理:比如 Spark Streaming 和 Storm;事件源;

  3.2 rabbitMQ原理介绍

  Erlang语言实*敏*感*词*融系统,用于分布式系统中消息的存储和转发。RabbitMQ发展到今天并被越来越多的人所认可,这与它在可靠性、可用性、可扩展性和丰富功能等方面的出色表现是分不开的。

  优势:

  缺点:

  3.3 对比分析

  应用:

  在架构模型方面:

  吞吐量:

  在可用性方面:

  在集群负载均衡方面:

  总结

  Kafka目前已经成为大数据系统异步消息和分布式消息之间的最佳选择。

  4 纯/准实时计算 4.1 Spark原理介绍

  

" />

  Spark 最初由加州大学伯克利分校 (UCBerkeley) 的 AMP 实验室于 2009 年开发。Spark 是一种基于内存的分布式批处理引擎,可用于构建*敏*感*词*、低延迟的数据分析应用程序。Spark是集批处理、实时流计算、交互式查询、图计算、机器学习于一体的一站式解决方案。其架构图如下图所示:

  Spark SQL:Spark 中用于结构化数据处理的模块。

  Structured Streaming:基于 Spark SQL 引擎构建的流式数据处理引擎。

  Spark Streaming:实时计算框架。

  Mlib:是机器学习的框架

  GraphX:图计算

  Spark R:R语言解析

  4.1.1 星火特点:

  Spark具有以下主要特点:

  4.1.2 Spark适用场景: 4.1.3 Spark Streaming简介:

  Spark Streaming 是 Spark 核心 API 的扩展,是一种实时计算框架。特定于可扩展性、高吞吐量、容错等。

  Spark Streaming 计算基于 DStream,它将流式计算分解为一系列短的批处理作业。Spark 引擎从数据中生成最终的结果数据。使用 DStream 从 Kafka 和 HDFS 等源获取连续的数据流。DStream 由一系列连续的 RDD 组成。每个 RDD 收录

特定时间间隔的数据。对 DStreams 的任何操作都会转换为对 RDD 的操作。

  4.2 Flink 原理介绍

  Flink是一个分布式、高性能、高可用、高精度的数据流应用开源流处理框架。Flink 的核心是提供对数据流的数据分发、通信和容错分布式计算。同时,Flink 在流处理引擎上提供批流融合计算能力和 SQL 表达式能力。

  4.2.1 Flink 特性 4.2.2 Flink 主要特性 4.2.3 Hadoop 兼容性 4.2.4 Flink 应用场景

  Flink最适合的应用场景是低延迟的数据处理场景:高并发数据处理、毫秒级实验、可靠性。

  典型的应用场景包括:

  4.3 对比分析 5 可视化展示(插件介绍) 5.1 Echarts

  ECharts 是一个用 JavaScript 实现的开源可视化库。

  特征

  5.2 数据V

  DataV是阿里云出品的拖拽式可视化工具。

  特征:

  例子

  5.3 D3.js

  D3的全称是(Data-Driven Documents),是一个JavaScript函数库,主要用于数据可视化。

  特征

  5.4 蚂蚁V

  AntV是蚂蚁金服-体验技术部-数据图形组的开源项目,原名G2(The Grammar Of Graphics)

  特征

  5.5 6例对比分析

  待升级

  解决方案:哪个SPC软件好用?SPC数据采集软件?自动生成图表的SPC采集软件

  市面上很多采集软件只能采集EXCEL中的数据,需要手动操作。ROZRZ基于云端的智能自动采集系统,无需人工干预。测量完成后自动保存数据库,自动生成SPC图表,自动导出EXCEL。哪个SPC软件好用?SPC数据采集软件?自动生成图表的SPC采集软件

  SPC的主要内容是XR控制图。根据图表中的数值,生成对应的X控制图和R控制图,方便查看。同样,还有 X-MR 控制图和 P 控制图。

  例:P控制图界面风格:

  数据采集​​的内容主要是设置相应的接口信息、采集项、内容,实现数据采集的功能。主要包括设备通讯设置、数据采集变量设置、数据采集界面对比、工艺设备采集参数、数据采集与执行五个页面。

  设备通讯设置主要是设置串口信息,包括串口选择、波特率、计算机名等信息。数据采集​​变量设置和接口比对,就是确定接口的变量字段,存储到对应的表中,完成数据采集操作。工艺设备采集参数用于确定采集哪些工艺和设备,执行二次数据采集是设置采集的内容。

  示例:工艺设备采集参数样式图:

  1.确定关键流程

  

" />

  一个产品质量的形成需要经过很多道工序(工序),其中有些工序对产品的质量起着至关重要的作用。这样的过程称为关键过程。SPC控制图应首先用于关键过程,而不是所有过程。因此,要实施SPC,首先要确定关键工序。然后,对关键流程进行分析研究,识别流程的结构(输入、输出、资源、活动等)。

  2.确定过程的关键变量(特征)

  分析关键过程(因果图、排列图等)可以找出对产品质量影响最大的变量(特征)。

  3、制定过程控制计划和规范

  这一步往往是最困难和最耗时的,一些实验方法可以参考相关标准。

  4.采集

整理过程数据

  5、过程控制状态初步分析

  使用控制图进行分析,分析过程是否受控和稳定。如发现失控或有特殊原因变化时,应采取措施。

  注意:此时,过程的分布中心(X)和均值差σ,以及控制图边界可能是未知的。

  

" />

  6.过程能力分析

  只有当过程受控且稳定时,才需要分析过程能力。当发现过程能力不足时,应采取措施。

  7、SPC控制图监控

  只有过程受控稳定,过程能力足够,才能采用监控用的控制图,进入SPC实施阶段。

  8. 监控、诊断、改进

  在监测过程中,发现异常时,应及时分析原因,采取措施使过程恢复正常。对于受控和稳定的过程,还需要持续改进以减少变异的常见原因、提高质量和降低成本。

  产品质量的形成需要很多工序(工序),其中有些工序对产品质量起着至关重要的作用,这样的工序称为关键工序,对关键工序应优先使用SPC控制图,而不是对所有工序都使用SPC控制图。控制图是一种测量、记录、评价和监控生产过程的关键质量特征值以及过程是否受控的图形化方法。根据假设检验的原理构建图表,以监控生产过程是否受控。它是统计质量管理的重要手段和工具。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线