大数据笔记-大数据处理流程

news2024/11/17 14:31:32

        大家对大数据处理流程大体上认识差不多,具体做起来可能细节各不相同,一幅简单的大数据处理流程图如下:

        

        1)数据采集:数据采集是大数据处理的第一步。

        数据采集面对的数据来源是多种多样的,包括各种传感器、社交媒体、电子邮件、数据库、程序运行日志等。

        数据采集面对的数据类型是多种多样的,有文本数据、结构化数据、图片数据、语音数据、视频数据等。

        数据采集使用的各种开源工具也是多种多样的,如采用FileBeat对日志文件进行采集,采用Flink CDC从数据库采集,采用OpenCV采集视频数据等。

        2)数据传输:数据传输是大数据处理的第二步。数据采集点各种各样,物联网上的各种传感器一般采用无线网络传输数据到数据中心,而其它数据采集大多走有线网络传输,带宽和速度是不一样的,采用的通讯协议也是不一样的。

        物联网传输协议一般有MQTT、CoAP、RESTfulHTTP等。也可以采用google protobuf协议、MessagePack协议等进行数据封装和传输。

        数据传输有时是很复杂的,它可能穿过很多网络最终才达到存储系统所在的网络。

        数据传输还涉及各种消息队列,比如我们喜欢用Kafka系统来做数据分发。

        3)数据清洗和预处理:收集到的数据可能包含噪声、缺失值和异常值,在入库之前,需要对数据进行清洗和预处理,以确保数据的质量和准确性。这包括数据去重、去噪、填充缺失值等。前端采集设备常常以最小数据字段集来传输数据包,特别是采取无线网络传输的,尽量让数据包小一些,当数据到了数据网关之后,可能我们会补齐一些字段,比如从设备ID映射出设备所在地址、区域、厂商等等,这些字段补齐之后去入库,方便之后数据查询分析。

        在这个阶段,可能在数据网关处就做了一定的处理,之后继续前传,中间处理系统继续做不同的数据处理。

        比如在入库前,常常采用流式计算框架Flink程序对数据做实时计算处理。

        4)数据存储:一旦数据被传输到数据中心,并进行了一定的处理,它们需要被存储在适当的地方。大数据处理需要使用分布式存储系统,如Hadoop的HDFS、HBase、Elasticsearch、MongoDB等。这些系统具有高可扩展性和容错性,能够处理大规模的数据。

        存储系统是非常重要的,怎样把海量数据存储起来是一个挑战,存储到一定量之后,存储系统稳定性又是一个挑战,非常考验开发团队和运维团队的技术水平和实际经验。

        大数据存储系统常常指NoSQL系统,包括KV数据库,文档数据库,列式数据库以及图数据库等等。

        5)数据分析:数据分析是大数据处理的核心步骤。这包括使用各种技术和工具对数据进行统计分析、数据挖掘、机器学习等,以发现数据中的模式、关联和趋势。数据分析的目标是提取有价值的信息和知识,以支持业务决策和行动。

        数据分析主要有两大计算类型:批处理计算和流处理计算。

        批处理计算以Hadoop MapReduce、Spark框架为代表。Flink号称支持批处理,其实不够好。

        流处理计算以Flink、Spark Streaming框架为代码。而Spark也号称支持流处理,同样不够好。

        6)数据可视化:数据可视化是将分析结果以图表、图形、地图等形式展示出来,以便用户更直观地理解和利用数据。数据可视化可以帮助用户发现数据中的模式和趋势,以及进行更深入的分析和洞察。

        有很多专业的开源大数据可视化工具,如Kibana、Zeppelin等。

        7)数据安全和隐私保护:在整个大数据处理流程中,数据安全和隐私保护是非常重要的。这包括对数据进行加密、访问控制、身份验证等,以确保数据的机密性和完整性。同时,还需要遵守相关的法律法规,保护用户的隐私权益。

        8)数据应用:大数据的数据最终都是为了某个目的而采集入库的,数据应用是很重要的,如果没有得到合理利用,大数据就是资源浪费了。

         

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1082502.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UGUI交互组件Slider

一.Slider对象的结构 对象介绍Slider附加Slider组件Background背景Fill Area填充范围Fill填充对象Handle Slider Area滑块移动范围Handle滑块 二.Slider组件属性 属性说明Fill Rect关联填充对象Handle Rect关联滑块对象Direction设置方向Min Value最大取值Max Value最小取值Wh…

Python高效实现网站数据挖掘

在当今互联网时代,SEO对于网站的成功至关重要。而Python爬虫作为一种强大的工具,为网站SEO带来了革命性的改变。通过利用Python爬虫,我们可以高效地实现网站数据挖掘和关键词分析,从而优化网站的SEO策略。本文将为您详细介绍如何利…

用例图 UML从入门到放弃系列之三

1.说明 关于用例图,这篇文章我将直接照搬罗伯特.C.马丁老爷子在《敏捷开发》一书种的第17章,并配上自己的理解,因为这一章写的实在是太精彩了,希望能够分享给大家,共勉。以下是老爷子的原文中文翻译以及豆芽的个人解读…

迁移学习--预训练微调

目录 1、迁移学习作用 2、迁移学习的途径 3、相关的领域 4、在计算机视觉中的应用 5、迁移学习的办法 预训练模型 微调 6、总结 1、迁移学习作用 定义:能在一个任务学习一个模型,然后用来解决相关的别的任务,这样我们在一个地方花…

鸿运主动安全云平台任意文件下载漏洞

一、漏洞描述 深圳市强鸿电子有限公司鸿运主动安全云平台存在任意文件下载漏洞,攻击者可通过此漏洞下载敏感文件信息,获取数据库账号密码,从而为下一步攻击做准备。 二、网络空间搜索引擎查询 fofa查询 body"./open/webApi.html"…

排序算法-插入排序法(InsertSort)

排序算法-插入排序法(InsertSort) 1、说明 插入排序法是将数组中的元素逐一与已排序好的数据进行比较,先将前两个元素排序好,再将第三个元素插入适当的位置,也就是说这三个元素仍然是已排序好的,接着将第…

bootz启动 Linux内核过程总结

一. bootz启动Linux uboot 启动 Linux内核使用bootz命令。当然还有其它的启动命令,例如,bootm命令等等。 前面几篇文章分析 bootz命令启动 Linux内核的过程中涉及的几个重要函数。 bootz启动 Linux内核过程中涉及的全局变量images_凌肖战的博客-CSDN博…

3d tiles规范boundingVolume属性学习

3d tiles的瓦片(Tiles)包含一些属性,其中第一项是boundingVolume;下面学习boundingVolume; boundingVolume,这个翻译为边界范围框,如果直译为边界体积可能有问题,其实就是包围盒的意…

Matlab提取colormap

文章目录 简介Matlab代码 简介 使用Maltab依据截取的图片信息,提取colormap,供保存使用 Matlab代码 提取函数 function colormap_outExtract_Colormap(inputfig, colormapsize)% Creat a colormap array from the input figure. % The figure is a c…

虹科科技 | 探索CAN通信世界:PCAN-Explorer 6软件的功能与应用

CAN(Controller Area Network)总线是一种广泛应用于汽车和工业领域的通信协议,用于实时数据传输和设备之间的通信。而虹科的PCAN-Explorer 6软件是一款功能强大的CAN总线分析工具,为开发人员提供了丰富的功能和灵活性。本文将重点…

刷题用到的非常有用的函数c++(持续更新)

阅读导航 字符串处理类一、stoi()(将字符串转换为整数类型)二、to_string()(将整数类型转换为字符串类型)三、stringstream函数(将一个字符串按照指定的分隔符进行分词) 字符串处理类 一、stoi()&#xff…

ChatGPT AIGC 高效办公自动化案例

根据业务员姓名查找对应月份的科目成绩。 我们让ChatGPT AIGC来完成Excel公式。 Prompt:有一个表格A列为姓名,B列为语文,C列为数学,请根据J2单元格的姓名 ,查找出对应的数学成绩,请写出函数来完成 将生成的vlookup函数公式=VLOOKUP(J2, A:C, 3, FALSE)复制到表格中进行验…

[开源]基于流程编排的自动化测试工具,插件驱动,测试无限可能

一、开源项目简介 流程编排,插件驱动,测试无限可能 一款基于流程编排的自动化测试工具 二、开源协议 使用Apache-2.0开源协议 三、界面展示 四、功能概述 在软件开发旅程中,测试流程的管理和执行常常是复杂且耗时的挑战。传统测试工具主…

c++ 类的特殊成员函数:移动构造函数(五)

1. 简介 移动构造函数是C11中的新特性,它允许对象通过移动而不是复制来传递和初始化。移动构造函数通常用于提高性能,因为它避免了不必要的复制操作,特别是当处理大型对象或使用动态内存分配时。 2. 来源 当拷贝构造函数出现函数返回值 &a…

kafka广播消费组停机后未删除优化

背景 kafka广播消息的时候为了保证groupId不重复,再创建的时间采用前缀时间戳的形式,这样可以保证每次启动的时候是创建的新的,但是 会出现一个问题:就是每次停机或者重启都会新建一个应用实例,关闭应用后并不会删除…

如何调整 Kubernetes StatefulSet 卷的大小

Kubernetes StatefulSet用于在集群内部署有状态应用程序。StatefulSet 中的每个 Pod 都可以访问即使在重新调度后仍坚持使用的本地持久卷。这使得 Pod 能够维护与其集合中的邻居不同的单独状态。 不幸的是,这些卷有一个很大的限制:Kubernetes 没有提供从 StatefulSet 对象调整…

排序算法-冒泡排序法(BubbleSort)

排序算法-冒泡排序法(BubbleSort) 1、说明 冒泡排序法又称为交换排序法,是从观察水中的气泡变化构思而成的,原理是从第一个元素开始,比较相邻元素的大小,若大小顺序有误,则对调后再进行下一个…

排序算法-选择排序法(SelectionSort)

排序算法-选择排序法(SelectionSort) 1、说明 选择排序法也是枚举法的应用,就是反复从未排序的数列中取出最小的元素,加入另一个数列中,最后的结果即为已排序的数列。选择排序法可使用两种方式排序,即在所…

基于nodejs+vue驾校预约管理系统

通过科技手段提高自身的优势;对于驾校预约管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了驾校预约管理系统, 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,驾校预约管理系统&am…

【Rust】包和模块,文档注释,Rust格式化输出

文章目录 包和模块包 CrateRust 的标准目录结构 模块 Module用路径引用模块使用super引用模块使用self引用模块结构体和枚举的可见性 使用 use 引入模块及受限可见性基本引入方式绝对路径引入模块相对路径引入模块中的函数 避免同名引用 注释和文档文档注释包和模块级别的注释注…