当前位置: 首页 > news >正文

大数据导论(3)---大数据技术

文章目录

  • 1. 大数据技术概述
  • 2. 数据采集与预处理
    • 2.1 数据采集
    • 2.2 预处理
  • 3. 数据存储和管理
    • 3.1 分布式基础架构Hadoop
    • 3.2 分布式文件系统HDFS
    • 3.3 分布式数据库HBase
    • 3.4 非关系型数据库NoSQL
  • 4. 数据可视化与保护


1. 大数据技术概述

 大数据技术主要包括数据采集与预处理、数据存储、数据处理与分析、数据可视化、数据安全和隐私保护等几个层面的内容。

技术层面功能
数据采集与预处理利用ETL工具将分布的、异构数据源中的数据,如关系数据、平面数据文件等,抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础;利用日志采集工具(如 Flume、Kafka 等)把实时采集的数据作为流计算系统的输入,进行实时处理分析;利用网页爬虫程序到互联网网站中爬取数据
数据存储和管理利用分布式文件系统、数据仓库、关系数据库、NoSQL数据库、云数据库等,实现对结构化、半结构化和非结构化海量数据的存储和管理
数据处理与分析利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理与分析
数据可视化对并行结果进行可视化呈现,帮助人们更好地理解数据、分析数据
数据安全和隐私保护在从大数据中挖掘潜在的巨大商业价值和学术价值的同时,构建隐私数据保护体系和数据安全体系,有效保护个人隐私和数据安全

2. 数据采集与预处理

2.1 数据采集

 1. 数据采集,又称 “数据获取”,是数据分析的入口,也是数据分析过程中相当重要的一个环节,它通过各种技术手段把外部各种数据源产生的数据实时或非实时地采集并加以利用。

 2. 数据采集的3大特点:① 全面性。 ② 多维性。 ③ 高效性。

 3. 数据采集的主要数据源包括传感器数据、互联网数据、日志文件、企业业务系统数据。

 4. 传统的数据采集与大数据采集区别:

传统的数据采集大数据采集
数据源来源单一、数据量相对较少来源广泛、数据量巨大
数据类型结构单一数据类型丰富,包括结构化、半结构化、非结构化
数据存储关系数据库和并行数据库分布式数据库、分布式文件系统

2.2 预处理

 1. 数据清洗(预处理)是将大量原始数据中的 “脏” 数据 “洗掉”,它是发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。

 2. 需要清洗的数据的主要类型:① 残缺数据。 ② 错误数据。 ③ 重复数据。

 3.数据清洗主要包括以下内容:

  • 一致性检查。
  • 无效值和缺失值的处理。常用方法有:估算、整例删除、变量删除、成对删除。

3. 数据存储和管理

 存储与管理贯穿大数据处理过程的始终,数据非结构化的特征明显,需要依靠分布式文件系统、分布式数据库、NoSQL 数据库、云数据库等技术来实现。

  • 分布式基础架构Hadoop
  • 分布式文件系统HDFS
  • 分布式数据库HBase
  • 非关系型数据库NoSQL

3.1 分布式基础架构Hadoop

 1. Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。Hadoop是基于Java语言开发,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。

在这里插入图片描述

 2. Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop在企业中的应用架构如下图所示。

在这里插入图片描述

3.2 分布式文件系统HDFS

 1. 分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。

 2. 分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫 “主节点”(Master Node)或者也被称为 “名称结点”(NameNode),另一类叫 “从节点”(Slave Node)或者也被称为 “数据节点”(DataNode)。

  • 在HDFS中,名称节点(NameNode)负责管理分布式文件系统的命名空间,名称节点记录了每个文件中各个块所在的数据节点的位置信息。
  • 数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据
    客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期
    发送自己所存储的块的列表。

在这里插入图片描述

 3. HDFS默认一个块128MB,一个文件被分成多个块,以块作为存储单位(块存储)块的大小远远大于普通文件系统,可以最小化寻址开销。

3.3 分布式数据库HBase

 1. HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据。HBase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表。

在这里插入图片描述

 2. 最基本的存储单位是列(Column),一个或者多个列构成一行(row)。若干个列组成一个列族(Column family)。传统关系数据库中行的结构是相同的。在HBase中两行的结构可以不同,甚至可以完全不同。

在这里插入图片描述

3.4 非关系型数据库NoSQL

 1. 通常,NoSQL数据库具有以下几个特点:(1)灵活的可扩展性。(2)灵活的数据模型。(3)与云计算紧密融合。

在这里插入图片描述

 2. NoSQL与关系数据库的比较总结:
 (1) 关系数据库
 优势:以完善的关系代数理论作为基础,有严格的标准,支持事务ACID四性,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持。
 劣势:可扩展性较差,无法较好支持海量数据存储,数据模型过于死板、无法较好支持Web2.0应用,事务机制影响了系统的整体性能等。
 (2) NoSQL数据库
 优势:可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web2.0应用,具有强大的横向扩展能力等。
 劣势:缺乏数学理论基础,复杂查询性能不高,大都不能实现事务强一致性,很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术支持,维护较困难等。

 3. NoSQL数据库虽然数量众多,但是归结起来,典型的NoSQL数据库通常包括键值数据库、列族数据库、文档数据库和图形数据库。

在这里插入图片描述

4. 数据可视化与保护

 1. 数据可视化的作用:让 “茫茫数据” 以可视化的方式呈现,让枯燥的数据以简单友好的图表形式展现出来,可以让数据变得更加通俗易懂,有助于用户更加方便快捷地理解数据的深层含义,有效参与复杂的数据分析过程,提升数据分析效率,改善数据分析效果。

 2. 数据安全技术:(1) 身份认证技术。 (2) 防火墙技术。 (3) 访问控制技术。 (4) 人脸检测技术。 (5) 加密技术。

参考资源:林子雨编著的《大数据导论》

相关文章:

  • Spark在降本增效中的一些思考
  • SpringMVC(八)处理AJAX请求
  • 冒泡排序-BubbleSort
  • spark+phoenix读取hbase
  • gin中间件篇
  • SAP ABAP SUBMIT常用用法
  • Spring Boot 4.0:构建云原生Java应用的前沿工具
  • 爬虫模板(附完整代码+案例)
  • 常用的Qt开源库分享
  • 一、基础数据结构——2.队列——3.双端队列和单调队列1
  • 【Ant Design of Vue】Modal.confirm无法关闭的bug
  • 如何在Linux部署JumpServer堡垒机并实现远程访问本地服务
  • mybatis的缓存机制
  • vue中合并下载打包视频图片
  • Gitee Reward让开源作者不再为爱发电
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【面试系列】之二:关于js原型
  • 10个最佳ES6特性 ES7与ES8的特性
  • CEF与代理
  • dva中组件的懒加载
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Intervention/image 图片处理扩展包的安装和使用
  • javascript 哈希表
  • jQuery(一)
  • JS基础之数据类型、对象、原型、原型链、继承
  • Laravel 菜鸟晋级之路
  • node 版本过低
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Python连接Oracle
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Vue小说阅读器(仿追书神器)
  • windows-nginx-https-本地配置
  • Xmanager 远程桌面 CentOS 7
  • 从tcpdump抓包看TCP/IP协议
  • 当SetTimeout遇到了字符串
  • 官方解决所有 npm 全局安装权限问题
  • 基于游标的分页接口实现
  • 如何实现 font-size 的响应式
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 小程序测试方案初探
  • 栈实现走出迷宫(C++)
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • # include “ “ 和 # include < >两者的区别
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #控制台大学课堂点名问题_课堂随机点名
  • (07)Hive——窗口函数详解
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (六)激光线扫描-三维重建
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)Linux整合apache和tomcat构建Web服务器