




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章
大数据存储与访问技术《数据采集与处理:基于Python》2024/5/1112024/5/112教学目标本章学习目标1.了解大数据的相关概念、关键技术、计算模式和NoSQL数据库分类,理解非关系型数据库(NoSQL)的CAP定理和BASE原则;2.了解NoSQL数据库MongoDB的特点和存储模式,掌握基于Python的MongoDB的操作步骤及相关模块和方法。本章提纲1.大数据技术2.非关系型数据库简介3.MongoDB数据库连接与访问2015年国务院正式印发《促进大数据发展行动纲要》,《纲要》明确指出要不断的推动大数据发展和应用,在未来打造精准治理、多方协作的社会治理新模式,建立运行平稳、安全高效的经济运行新机制,构建以人为本、惠及全民的民生服务新体系,开启大众创业、万众创新的创新驱动新格局,培育高端智能、新兴繁荣的产业发展新生态。2015年,大数据“十三五”规划出台,《规划》通过定量和定性相结合的方式提出了2020年大数据产业发展目标。在总体目标方面,提出到2020年,技术先进、应用繁荣、保障有力的大数据产业体系基本形成,大数据相关产品和服务业务收入突破1万亿元,年均复合增长率保持30%左右。大数据技术1.1大数据概述
大数据(bigdata),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据时代的概念最早是全球知名咨询公司麦肯锡提出的,2006年麦肯锡提出了大数据概念。大数据发展历史大数据的发展主要历经了三个阶段,出现阶段、热门阶段和应用阶段。1)出现阶段(1980-2008)2)热门阶段(2009-2012)3)应用阶段(2013-至今)从技术手段视角,大数据发展的三个阶段:1)分布式存储和处理技术。Hadoop是其中最著名的开源分布式存储和处理框架,使用Hadoop分布式文件系统(HDFS)存储海量数据,并使用MapReduce处理数据。2)更多的开源分布式存储和处理框架。例如Spark和Storm。Spark是一种内存计算框架,它使用RDD(ResilientDistributedDatasets)作为基本数据结构,具有快速的计算速度和高效的内存管理能力。Storm是一个实时数据处理框架,可以实时处理流式数据。3)融合机器学习和人工智能。主要技术手段包括深度学习、自然语言处理、图像处理等等,让大数据处理更加智能化和自动化。大数据的影响大数据的影响主要有以下四点。1)大数据对科学活动的影响2)大数据对思维方式的影响3)大数据对社会发展的影响4)大数据对就业市场的影响大数据的特征随着对大数据认识的不断加深,人们认为大数据一般具有4V+1O特征:数据量大、数据类型繁多、数据产生速度快以及数据价值密度低;及基本都是在线数据。1).数据量大Volume大数据中的数据量大,就是指的海量数据。大数据之“大”还表现在其采集范围和内容的丰富多变,能存入数据库的不仅包含各种具有规律性的数据符号,还囊括了各种如图片、视频、声音等非规则的数据。2).数据类型繁多Variety大数据包括结构化数据、半结构化数据和非结构化数据。3).数据产生速度快Velocity(1)数据产生得快。(2)数据处理得快。4).数据价值密度低Value5).数据永远在线Online大数据应用社会网络思想应用:六度分离和三度影响理论1.2大数据关键技术1)大数据采集2)大数据预处理3)大数据存储4)大数据分析挖掘大数据计算模式大数据计算模式对应的系统如下所示:大数据查询与分析计算:HBase、Hive、Cassandra、Premel、Impala、Shark、Hana、Redis。批处理计算:
MapReduce、Spark。流式计算:Scribe、Flume、Storm、S4、SparkStreaming。迭代计算:HaLoop、iMapReduce、Twister、Spark。图计算:Pregel、PowerGrapg、GraphX。内存计算:Dremel、Hana、Redis。谷歌大数据计算模式大数据框架1)批处理系统2)流处理系统3)混合处理系统大数据与云计算大数据与人工智能大数据的意义
大数据的国家战略意义大数据是一个事关我国经济社会发展全局的战略性产业,大数据技术为社会经济活动提供决策依据,提高各个领域的运行效率,提升整个社会经济的集约化程度,对于我国经济发展转型具有重要的推动作用。大数据的企业意义如何应对大数据时代的到来已经成为了每一个企业需要面对的问题。我国大数据市场的预测2022-2027年中国大数据市场规模及预测(单位:亿元)预计2027年我国大数据市场规模将达到2930.9亿元,未来六年复合年增长率为22.6%。(资料来源:CCID前瞻产业研究院)大数据的产业链分析
运营分析非关系型数据库简介NoSQL数据库简介
NoSQL(NoSQL=NotOnlySQL),意即“不仅仅是SQL”。NoSQL是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,它无疑是一种全新思维的注入。RDBMS与NoSQL比较RDBMS是:高度组织化结构化数据,结构化查询语言(SQL,包括数据操纵和数据定义),数据和关系都存储在单独的表中,严格的一致性,基础事务NoSQL:代表着不仅仅是SQL;没有声明性查询语言;没有预定义的模式;存储模式多样(键-值对存储,列存储,文档存储,图形数据库);最终一致性,而非ACID属性;非结构化和不可预知的数据;CAP定理;高性能,高可用性和可伸缩性CAP定理
1)什么是CAP定理RDBMS与NoSQL比较CAP定理(CAPtheorem),又被称作布鲁尔定理(Brewer'stheorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点:一致性(Consistency):所有节点在同一时间具有相同的数据可用性(Availability):保证每个请求不管成功或者失败都有响应分隔容忍(Partitiontolerance):系统中任意信息的丢失或失败不会影响系统的继续运作CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求,最多只能同时较好的满足两个。根据CAP原理将NoSQL数据库分成了满足CA原则、满足CP原则和满足AP原则三大类:CA-单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP-满足一致性,分区容忍性的系统,通常性能不是特别高。AP-满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。CAP定理
1)什么是BASEBASE:BasicallyAvailable,Soft-state,EventuallyConsistent。由EricBrewer定义。CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求,最多只能同时较好的满足两个。BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:BasicallyAvailble--基本可用Soft-state--软状态/柔性事务。"Softstate"可以理解为"无连接"的,而"Hardstate"是"面向连接"的EventualConsistency--最终一致性,也是ACID的最终目的。NoSQL数据库分类
1)列存储,如Hbase、Cassandra、Hypertable等,顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,针对某一列或者某几列的查询有非常大的IO优势。2)文档存储,如MongoDB、CouchDB,文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。3)key-value存储,如TokyoCabinet/Tyrant、BerkeleyDB、MemcacheDB、Redis等,可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)4)图存储,如Neo4J、FlockDB等,图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。5)对象存储,如db4o、Versant等,通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。6)XML数据库,如BerkeleyDBXML、BaseX等,高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。MongoDB数据库连接与访问3.1MongoDB数据库简介
1)什么是MongoDBMongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为Web应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。3.1MongoDB数据库简介
2)MongoDB主要特点面向文档存储的数据库,安装、操作比较简单和容易。可以在MongoDB记录中设置任何属性的索引(如:FirstName="Sameer",Address="8GandhiRoad")来实现更快的排序。扩展性强。可以通过本地或者网络创建数据镜像,负载可以分布到计算机网络中其他节点。支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。支持丰富的查询表达式,并使用Map/reduce函数对数据进行批量处理和聚合操作,使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。3.2.Python访问MongoDB操作
1)准备工作:确保已经安装好MongoDB并启动其服务,并且安装好了Python的PyMongo库。2)连接MongoDB连接MongoDB时,需要使用PyMongo库里面的MongoClient。一般来说,传入MongoDB的IP及端口即可,其中第一个参数为地址host,第二个参数为端口port(默认是27017):importpymongo;client=pymongo.MongoClient(host=‘localhost’,port=27017)。另外,MongoClient的第一个参数host还可以直接传入MongoDB的连接字符串,它以mongodb开头,例如:client=MongoClient('mongodb://localhost:27017/')。3)指定数据库MongoDB中可以建立多个数据库,接下来需要指定操作哪个数据库。这里以test数据库为例来说明,下一步需要在程序中指定要使用的数据库:db=client.test这里调用client的test属性即可返回test数据库。也可以这样指定:db=client['test']4)指定集合MongoDB的每个数据库又包含许多集合(collection),它们类似于关系型数据库中的表。下一步需要指定要操作的集合,这里指定一个集合名称为students。与指定数据库类似,指定集合也有两种方式:collection=db.students;或者collection=db['students']3.2.Python访问MongoDB操作
示例代码#1.导入模块importpymongo#2.连接数据库client=pymongo.MongoClient(host='localhost',port=27017)#MongoClient的第一个参数host还可以直接传入MongoDB的连接字符串,它以mongodb开头#client=MongoClient('mongodb://localhost:27017/')#3.指定数据库db=client['test-database']#4.指定集合:MongoDB的每个数据库又包含许多集合(collection),它们类似于关系型数据库中的表collection=db.posts#或者db['posts']#5.插入数据post_record={'author':"Dongpu",'text':"MyfirstblogpostforCUEB!",'tags':"Python"}result=collection.insert(post_record)#也可以同时插入多条数据,只需要以列表形式传递即可#在MongoDB中,每条数据其实都有一个_id属性来唯一标识。#如果没有显式指明该属性,MongoDB会自动产生一个ObjectId类型的_id属性。insert()方法会在执行后返回_id
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 朗悦房产销售有限公司管理方案
- 监事会管理制度
- 小学法制教育主题班会活动设计方案
- 医院感染培训制度
- 药房管理制度
- 基本人事管理制度
- 充电桩运维部门管理方案正式
- 项目合作协议合伙人模式范本
- 施工现场临时用电:配电箱一级二级三级定义及管理规范
- 项目部环境保护管理制度
- 单组份室温固化硅橡胶物质安全数据表MSDS模板
- 2022年北京事业单位招聘考试真题及答案解析
- 高中英语 选必二 Unit3 Times change 第4课时-developing ideas- Emojis a new language 课件
- 机动车检测站突发环境污染事件应急预案
- 关于赴XXX医院参观学习联系函
- 【汇总】高二政治选择性必修三(统编版) 重点知识点汇总
- T∕CIS 71001-2021 化工安全仪表系统安全要求规格书编制导则
- 体医融合与健康中国课件
- 福利院装修改造工程施工组织设计(225页)
- 基因表达的调控
- 华师大版九年级下册数学全册教案
评论
0/150
提交评论