流式数据分析

The recent years have seen a considerable rise in connected devices such as IoT [1] devices, and streaming sensor data. At present there are billions of IoT devices connected to the internet. While you read this article, terabytes and petabytes of IoT data will be generated across the world. This data contains a huge amount of information and insights. However, processing such high volumes of streaming data is a challenge, and it requires advanced BigData capabilities to manage these challenges and derive insights from this data.

近年来,诸如IoT [1]设备之类的连接设备以及流式传感器数据有了显着增长。 目前,有数十亿物联网设备连接到互联网。 当您阅读本文时,将在全球范围内生成TB和PB的IoT数据。 这些数据包含大量信息和见解。 但是,处理如此大量的流数据是一个挑战,它需要高级BigData功能来管理这些挑战并从这些数据中获取见解。

At AlgoAnalytics, we have developed a powerful tool which ingests real time streaming data feeds (for example from IoT devices) to enable visualization and analytics for quicker business decisions.

AlgoAnalytics ,我们开发了一个功能强大的工具,可提取实时流数据馈送(例如,从IoT设备获取),以实现可视化和分析,以便更快地做出业务决策。

The four steps involved underneath Streaming Big Data Analytics are as follows :

流式大数据分析所涉及的四个步骤如下:

The high level design of Streaming Big Data Analytics pipeline is illustrated in Figure 1.

图1显示了Streaming Big Data Analytics管道的高级设计。

Figure 1: High Level Design
图1:高级设计
  1. Data Ingestion:

    数据提取:

Data ingestion involves gathering data from various streaming sources (e.g. IoT sensors) and transporting them to a common data store. This essentially is transforming unstructured data from origin to a system where it can be stored for further processing. Data comes from various sources, in various formats and at various speeds. It is a critical task to ingest complete data into the pipeline without any failure.

数据摄取涉及从各种流媒体源(例如IoT传感器)收集数据并将其传输到公共数据存储。 这实质上是将非结构化数据从原始数据转换为可以存储数据以进行进一步处理的系统。 数据来自各种来源,格式和速度各异。 将完整的数据摄取到管道中而没有任何失败是至关重要的任务。

For Data Ingestion, we have used Apache Kafka [2]- a distributed messaging system which fulfills all the above requirements. We have built a high scalable fault tolerant multi-node kafka cluster which can process thousands of messages per second without any data loss and down time. Kafka Producer collects data from various sources and publishes data to different topics accordingly. Kafka Consumer consumes this data from the topics in which they are interested in.This way data from different sources is ingested in the pipeline for processing.

对于数据提取,我们使用了Apache Kafka [2]-一种满足所有上述要求的分布式消息传递系统。 我们建立了一个高度可扩展的容错多节点kafka集群,该集群可以每秒处理数千条消息,而不会造成任何数据丢失和停机时间。 Kafka Producer从各种来源收集数据,并相应地将数据发布到不同的主题。 Kafka Consumer从他们感兴趣的主题中消费此数据。这样,来自不同来源的数据就会被吸收到管道中进行处理。

2. Real Time Data Processing:

2.实时数据处理:

The data collected in the above step needs to be processed in real time before pushing it to any filesystem or database. This includes transforming unstructured data to structured data. Processing includes filtering, mapping, conversion of data types, removing unwanted data, generating simplified data from complex data,etc

在将上一步中收集的数据推送到任何文件系统或数据库之前,需要对其进行实时处理。 这包括将非结构化数据转换为结构化数据。 处理包括过滤,映射,数据类型转换,删除不需要的数据,从复杂数据生成简化数据等。

For this step we have used Spark Streaming [3] which is the best combination with Apache Kafka to build real time applications. Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams. Spark Streaming receives the data ingested through kafka and converts it into continuous stream of RDDs — DStreams (basic abstraction in spark streaming). Various spark transformations are applied on these DStreams to transform the data to the state from where it can be pushed to the database.

在这一步中,我们使用了Spark Streaming [3],它是与Apache Kafka的最佳组合,用于构建实时应用程序。 Spark Streaming是核心Spark API的扩展,可实现实时数据流的可扩展,高吞吐量,容错流处理。 Spark Streaming接收通过kafka提取的数据,并将其转换为RDD的连续流-DStreams(Spark流中的基本抽象)。 在这些DStream上应用了各种spark转换,以将数据转换到可以将其推送到数据库的状态。

3. Data Storage:

3.数据存储:

The data received from source devices (such as IoT devices) is time-series data — measurements or events that are tracked, monitored, downsampled, and aggregated over time. Properties that make time series data very different from other data workloads are data lifecycle management, summarization, and large range scans of many records. A time series database (TSDB) [4] is a database optimized for such time-stamped or time series data with time as a key index which is distinctly different from relational databases . A time-series database lets you store large volumes of time stamped data in a format that allows fast insertion and fast retrieval to support complex analysis on that data.

从源设备(例如IoT设备)接收的数据是时间序列数据 -随时间跟踪,监视,下采样和聚合的测量或事件。 使时间序列数据与其他数据工作负载非常不同的属性是数据生命周期管理,摘要和许多记录的大范围扫描。 时间序列数据库(TSDB) [4]是针对时间标记或时间序列数据进行优化的数据库,其中时间作为关键索引,与关系数据库明显不同。 时间序列数据库允许您以允许快速插入和快速检索的格式存储大量带时间戳的数据,以支持对该数据进行复杂的分析。

Influxdb [5] is one such time-series database designed to handle such high write and query loads. We have set up a multi node influxdb cluster which can handle millions of writes per second and also in-memory indexing of influxdb allows fast and efficient query results. We have also set up various continuous tasks which downsample the data to lower precision, summarized data which can be kept for a longer period of time or forever. It reduces the size of data that needs to be stored as well as the query time by multiple times as compared with very high precision data.

Influxdb [5]是一种此类时间序列数据库,旨在处理如此高的写入和查询负载。 我们已经建立了一个多节点的influxdb集群,该集群可以每秒处理数百万次写入,并且influxdb的内存索引可以实现快速,有效的查询结果。 我们还设置了各种连续任务,这些任务会将数据降采样到较低的精度,汇总的数据可以保留更长的时间或永远。 与非常高精度的数据相比,它可以将需要存储的数据大小以及查询时间减少多次。

4. Visualization:

4.可视化:

To add value to this processed data it is necessary to visualize our data and make some relations between them. Data visualization and analytics provide more control over data and give us the power to control this data efficiently.

为了给处理后的数据增加价值,有必要使我们的数据可视化并在它们之间建立某种关系。 数据可视化和分析可提供对数据的更多控制,并使我们能够有效地控制此数据。

We used Grafana [6], a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources. We have created multiple dashboards for different comparisons. On these dashboards, we can visualize real time status as well as the historical data (weeks, months or even years). We can also compare data of the same type with different parameters. Several variables are defined which provide flexibility to use dashboards for multiple visualizations. For example, we can select a single device or multiple devices or even all devices at a time. We can select how to aggregate data per minute, per hour to per year.

我们使用了Grafana [6],这是一个多平台的开源分析和交互式可视化Web应用程序。 当连接到受支持的数据源时,它会为Web提供图表,图形和警报。 我们创建了多个仪表盘用于不同的比较。 在这些仪表板上,我们可以可视化实时状态以及历史数据(几周,几个月甚至几年)。 我们还可以将具有不同参数的相同类型的数据进行比较。 定义了几个变量,这些变量可灵活使用仪表板进行多个可视化。 例如,我们可以一次选择一个或多个设备,甚至所有设备。 我们可以选择如何每分钟,每小时和每年汇总数据。

Figure 2 : One of the dashboards IoT Analytics Application
图2:仪表板IoT分析应用程序之一

Figure 2 shows the Uptime and some parameters of a selected machine for a selected period (2 months).

图2显示了选定时间段(2个月)内选定机器的正常运行时间和一些参数。

Applications :

应用范围

As a large number of businesses in multiple sectors are moving to connected and smart devices, Streaming Big Data Analytics finds its applications across many verticals.

随着多个领域的众多企业正在转向互联和智能设备,Streaming Big Data Analytics在许多垂直领域都可以找到其应用程序。

Few examples include real time machine monitoring and anomaly detection in industries, sensor embedded medical devices to understand emergencies in advance, surveillance using video analytics, in Retail and Logistics to increase sale by studying customer movements, in transport sector — smart traffic control, electronic toll collections systems, in Military for surveillance, Environmental monitoring — air quality, soil conditions, movement of wildlife, etc

很少有这样的例子:行业中的实时机器监控和异常检测,传感器嵌入式医疗设备可以提前了解紧急情况,零售和物流中使用视频分析进行监控,通过研究运输行业的客户动向来提高销售量,例如交通领域,智能交通控制,电子通行费军事上用于监视,环境监测的采集系统-空气质量,土壤条件,野生动植物的移动等

For further information, please contact: info@algoanalytics.com

欲了解更多信息,请联系:info@algoanalytics.com

  1. IoT : https://en.wikipedia.org/wiki/Internet_of_things

    物联网 https://zh.wikipedia.org/wiki/Internet_of_things

  2. Apache Kafka : https://kafka.apache.org/documentation/#gettingStarted

    Apache Kafka: https : //kafka.apache.org/documentation/#gettingStarted

  3. Spark Streaming : https://spark.apache.org/docs/latest/streaming-programming-guide.html

    火花流: https : //spark.apache.org/docs/latest/streaming-programming-guide.html

  4. Time Series Database : https://www.influxdata.com/time-series-database/

    时间序列数据库: https : //www.influxdata.com/time-series-database/

  5. InfluxDB : https://www.influxdata.com/products/influxdb-overview/

    InfluxDB: https : //www.influxdata.com/products/influxdb-overview/

  6. Grafana : https://grafana.com/docs/

    Grafana: https ://grafana.com/docs/

翻译自: https://medium.com/algoanalytics/streaming-big-data-analytics-d4311ed20581

流式数据分析

http://www.taodudu.cc/news/show-994941.html

相关文章:

  • 数据科学还是计算机科学_数据科学101
  • js有默认参数的函数加参数_函数参数:默认,关键字和任意
  • 相似邻里算法_纽约市-邻里之战
  • 数据透视表和数据交叉表_数据透视表的数据提取
  • 图像处理傅里叶变换图像变化_傅里叶变换和图像床单视图。
  • 滞后分析rstudio_使用RStudio进行A / B测试分析
  • unity3d 可视化编程_R编程系列:R中的3D可视化
  • python 数据科学 包_什么时候应该使用哪个Python数据科学软件包?
  • 熊猫tv新功能介绍_您应该知道的4种熊猫绘图功能
  • vs显示堆栈数据分析_什么是“数据分析堆栈”?
  • 广告投手_测量投手隐藏自己的音高的程度
  • python bokeh_提升视觉效果:使用Python和Bokeh制作交互式地图
  • nosql_探索NoSQL系列
  • python中api_通过Python中的API查找相关的工作技能
  • 欺诈行为识别_使用R(编程)识别欺诈性的招聘广告
  • nlp gpt论文_GPT-3:NLP镇的最新动态
  • 基于plotly数据可视化_[Plotly + Datashader]可视化大型地理空间数据集
  • 划痕实验 迁移面积自动统计_从Jupyter迁移到合作实验室
  • 数据开放 数据集_除开放式清洗之外:叙述是开放数据门户的未来吗?
  • 它们是什么以及为什么我们不需要它们
  • 机器学习 啤酒数据集_啤酒数据集上的神经网络
  • nasa数据库cm1数据集_获取下一个地理项目的NASA数据
  • r语言处理数据集编码_在强调编码语言或工具之前,请学习这3个基本数据概念
  • 数据迁移测试_自动化数据迁移测试
  • 使用TensorFlow概率预测航空乘客人数
  • 程序员 sql面试_非程序员SQL使用指南
  • r a/b 测试_R中的A / B测试
  • 工作10年厌倦写代码_厌倦了数据质量讨论?
  • 最佳子集aic选择_AutoML的起源:最佳子集选择
  • 管道过滤模式 大数据_大数据管道配方

流式数据分析_流式大数据分析相关推荐

  1. 黑马大数据分析课程---1、大数据分析介绍

    黑马大数据分析课程---1.大数据分析介绍 一.总结 一句话总结: 大数据为机器学习.人工智能等提供了数据依据 1.数据清洗包括哪些方面? 去掉脏数据 使数据格式化 2.数据挖掘是什么? 高级的数据分 ...

  2. 智慧树大数据分析python答案_智慧树大数据分析的python基础答案

    当前位置:主页 > 娱乐 > 正文 智慧树大数据分析的python基础答案

  3. 阿里大数据分析与应用(part2)--大数据分析的流程与常用技术

    学习笔记,仅供参考,有错必纠 学习自:云中学院大数据课堂 文章目录 大数据分析流程 数据采集方法 大数据采集方法 离线数据采集ETL 实时数据采集与处理 数据预处理技术 数据集成 数据清洗 数据变换 ...

  4. python金融数据分析电子版_python 金融大数据分析 pdf

    书籍:Python金融大数据分析 Python for Finance_ Mastering Data-Driven Finance 2nd - 2019.pdf 简介 金融业最近以极高的速度采用了P ...

  5. python怎么做面板数据分析_利用python进行数据分析之准备(一)

    原标题:利用python进行数据分析之准备(一) 欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区. 对商业智能BI.大数据分析挖掘.机器学习,python,R等数 ...

  6. python金融大数据分析视频_Python金融大数据分析 PDF 全书超清版

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python金融.大数据分析方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小47.8 MB,希尔皮斯科编写,目前豆瓣.亚马逊. ...

  7. python数据分析-为什么Python对大数据分析那么很重要?

    Python编程是一种通用的编程语言,开源.灵活.功能强大且易于使用.python最重要的特性之一是其用于数据处理和分析任务的丰富实用程序和库集.在当今的大数据时代,python以其支持大数据处理的易 ...

  8. python与金融数据分析论文_python 金融大数据分析 pdf

    python 金融大数据分析 pdf相关的博客 查看更多 写博客 作者: skin778 966人浏览 评论数:0 6个月前 ![5_6_3](https://yqfile.alicdn.com/b5 ...

  9. 大数据分析python r matlab_大数据分析之如何让 Python, R, Matlab 与 Tableau 红尘作伴,玩的潇潇洒洒...

    本篇文章探讨了大数据分析之如何让 Python, R, Matlab 与 Tableau 红尘作伴,玩的潇潇洒洒,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 数据缺失是数据科 ...

最新文章

  1. 恢复Oracle误删数据一点小记
  2. ImportError: cannot import name FileStorage
  3. $.countdown is not a function
  4. 扩展Spring Batch –步骤分区
  5. system 无法以 sysdba 登录,提示:权限不足。
  6. matplotlib 设置标注方向_Python 使用matplotlib画图添加标注、及移动坐标轴位置
  7. P5703 【深基2.例5】苹果采购(scratch实现)
  8. android webview调js方法,Android中WebView与H5的交互,Native与JS方法互调
  9. 你见过最奇葩的人和事是什么?
  10. w10 Sentinel的下载和安装
  11. 编程之美读书笔记1.2——中国象棋将帅问题
  12. 前端面试题:高效地随机选取数组中的元素
  13. doors dxl 遍历object 查找
  14. C语言程序设计100个经典例子
  15. 完全免费的在线遥感影像下载器-转载
  16. Vray材质速查手册(精讲)
  17. [nlp] 双三次插值(BiCubic插值)
  18. 学习方法——哈佛大学幸福课(积极心理学)学习笔记(上)
  19. 和菜鸟一起学android4.0.3源码之硬件gps简单移植
  20. cmake:指定find_package的搜索路径

热门文章

  1. mysql 组合索引 or_Mysql_组合索引和单列索引
  2. 计算机网络【三】物理层数据通信
  3. Linux串口阻塞与非阻塞
  4. fcntl函数(网络编程会用)
  5. 大牛深入讲解!9次Java面试经验总结
  6. 7天拿到阿里Android岗位offer,都是精髓!
  7. Infragistics NetAdvantage
  8. NLPPython笔记——WordNet
  9. docker环境 快速使用elasticsearch-head插件
  10. 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks)—— 0.学习目标...