![《數(shù)據(jù)采集與處理:基于python》 課件 第10章-大數(shù)據(jù)存儲與訪問技術(shù)_第1頁](http://file4.renrendoc.com/view4/M00/0A/03/wKhkGGY_ZWmAfKulAACmJjq6G5E347.jpg)
![《數(shù)據(jù)采集與處理:基于python》 課件 第10章-大數(shù)據(jù)存儲與訪問技術(shù)_第2頁](http://file4.renrendoc.com/view4/M00/0A/03/wKhkGGY_ZWmAfKulAACmJjq6G5E3472.jpg)
![《數(shù)據(jù)采集與處理:基于python》 課件 第10章-大數(shù)據(jù)存儲與訪問技術(shù)_第3頁](http://file4.renrendoc.com/view4/M00/0A/03/wKhkGGY_ZWmAfKulAACmJjq6G5E3473.jpg)
![《數(shù)據(jù)采集與處理:基于python》 課件 第10章-大數(shù)據(jù)存儲與訪問技術(shù)_第4頁](http://file4.renrendoc.com/view4/M00/0A/03/wKhkGGY_ZWmAfKulAACmJjq6G5E3474.jpg)
![《數(shù)據(jù)采集與處理:基于python》 課件 第10章-大數(shù)據(jù)存儲與訪問技術(shù)_第5頁](http://file4.renrendoc.com/view4/M00/0A/03/wKhkGGY_ZWmAfKulAACmJjq6G5E3475.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第十章
大數(shù)據(jù)存儲與訪問技術(shù)《數(shù)據(jù)采集與處理:基于Python》2024/5/1112024/5/112教學(xué)目標(biāo)本章學(xué)習(xí)目標(biāo)1.了解大數(shù)據(jù)的相關(guān)概念、關(guān)鍵技術(shù)、計算模式和NoSQL數(shù)據(jù)庫分類,理解非關(guān)系型數(shù)據(jù)庫(NoSQL)的CAP定理和BASE原則;2.了解NoSQL數(shù)據(jù)庫MongoDB的特點和存儲模式,掌握基于Python的MongoDB的操作步驟及相關(guān)模塊和方法。本章提綱1.大數(shù)據(jù)技術(shù)2.非關(guān)系型數(shù)據(jù)庫簡介3.MongoDB數(shù)據(jù)庫連接與訪問2015年國務(wù)院正式印發(fā)《促進(jìn)大數(shù)據(jù)發(fā)展行動綱要》,《綱要》明確指出要不斷的推動大數(shù)據(jù)發(fā)展和應(yīng)用,在未來打造精準(zhǔn)治理、多方協(xié)作的社會治理新模式,建立運行平穩(wěn)、安全高效的經(jīng)濟運行新機制,構(gòu)建以人為本、惠及全民的民生服務(wù)新體系,開啟大眾創(chuàng)業(yè)、萬眾創(chuàng)新的創(chuàng)新驅(qū)動新格局,培育高端智能、新興繁榮的產(chǎn)業(yè)發(fā)展新生態(tài)。2015年,大數(shù)據(jù)“十三五”規(guī)劃出臺,《規(guī)劃》通過定量和定性相結(jié)合的方式提出了2020年大數(shù)據(jù)產(chǎn)業(yè)發(fā)展目標(biāo)。在總體目標(biāo)方面,提出到2020年,技術(shù)先進(jìn)、應(yīng)用繁榮、保障有力的大數(shù)據(jù)產(chǎn)業(yè)體系基本形成,大數(shù)據(jù)相關(guān)產(chǎn)品和服務(wù)業(yè)務(wù)收入突破1萬億元,年均復(fù)合增長率保持30%左右。大數(shù)據(jù)技術(shù)1.1大數(shù)據(jù)概述
大數(shù)據(jù)(bigdata),指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。大數(shù)據(jù)時代的概念最早是全球知名咨詢公司麥肯錫提出的,2006年麥肯錫提出了大數(shù)據(jù)概念。大數(shù)據(jù)發(fā)展歷史大數(shù)據(jù)的發(fā)展主要歷經(jīng)了三個階段,出現(xiàn)階段、熱門階段和應(yīng)用階段。1)出現(xiàn)階段(1980-2008)2)熱門階段(2009-2012)3)應(yīng)用階段(2013-至今)從技術(shù)手段視角,大數(shù)據(jù)發(fā)展的三個階段:1)分布式存儲和處理技術(shù)。Hadoop是其中最著名的開源分布式存儲和處理框架,使用Hadoop分布式文件系統(tǒng)(HDFS)存儲海量數(shù)據(jù),并使用MapReduce處理數(shù)據(jù)。2)更多的開源分布式存儲和處理框架。例如Spark和Storm。Spark是一種內(nèi)存計算框架,它使用RDD(ResilientDistributedDatasets)作為基本數(shù)據(jù)結(jié)構(gòu),具有快速的計算速度和高效的內(nèi)存管理能力。Storm是一個實時數(shù)據(jù)處理框架,可以實時處理流式數(shù)據(jù)。3)融合機器學(xué)習(xí)和人工智能。主要技術(shù)手段包括深度學(xué)習(xí)、自然語言處理、圖像處理等等,讓大數(shù)據(jù)處理更加智能化和自動化。大數(shù)據(jù)的影響大數(shù)據(jù)的影響主要有以下四點。1)大數(shù)據(jù)對科學(xué)活動的影響2)大數(shù)據(jù)對思維方式的影響3)大數(shù)據(jù)對社會發(fā)展的影響4)大數(shù)據(jù)對就業(yè)市場的影響大數(shù)據(jù)的特征隨著對大數(shù)據(jù)認(rèn)識的不斷加深,人們認(rèn)為大數(shù)據(jù)一般具有4V+1O特征:數(shù)據(jù)量大、數(shù)據(jù)類型繁多、數(shù)據(jù)產(chǎn)生速度快以及數(shù)據(jù)價值密度低;及基本都是在線數(shù)據(jù)。1).數(shù)據(jù)量大Volume大數(shù)據(jù)中的數(shù)據(jù)量大,就是指的海量數(shù)據(jù)。大數(shù)據(jù)之“大”還表現(xiàn)在其采集范圍和內(nèi)容的豐富多變,能存入數(shù)據(jù)庫的不僅包含各種具有規(guī)律性的數(shù)據(jù)符號,還囊括了各種如圖片、視頻、聲音等非規(guī)則的數(shù)據(jù)。2).數(shù)據(jù)類型繁多Variety大數(shù)據(jù)包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。3).數(shù)據(jù)產(chǎn)生速度快Velocity(1)數(shù)據(jù)產(chǎn)生得快。(2)數(shù)據(jù)處理得快。4).數(shù)據(jù)價值密度低Value5).數(shù)據(jù)永遠(yuǎn)在線Online大數(shù)據(jù)應(yīng)用社會網(wǎng)絡(luò)思想應(yīng)用:六度分離和三度影響理論1.2大數(shù)據(jù)關(guān)鍵技術(shù)1)大數(shù)據(jù)采集2)大數(shù)據(jù)預(yù)處理3)大數(shù)據(jù)存儲4)大數(shù)據(jù)分析挖掘大數(shù)據(jù)計算模式大數(shù)據(jù)計算模式對應(yīng)的系統(tǒng)如下所示:大數(shù)據(jù)查詢與分析計算:HBase、Hive、Cassandra、Premel、Impala、Shark、Hana、Redis。批處理計算:
MapReduce、Spark。流式計算:Scribe、Flume、Storm、S4、SparkStreaming。迭代計算:HaLoop、iMapReduce、Twister、Spark。圖計算:Pregel、PowerGrapg、GraphX。內(nèi)存計算:Dremel、Hana、Redis。谷歌大數(shù)據(jù)計算模式大數(shù)據(jù)框架1)批處理系統(tǒng)2)流處理系統(tǒng)3)混合處理系統(tǒng)大數(shù)據(jù)與云計算大數(shù)據(jù)與人工智能大數(shù)據(jù)的意義
大數(shù)據(jù)的國家戰(zhàn)略意義大數(shù)據(jù)是一個事關(guān)我國經(jīng)濟社會發(fā)展全局的戰(zhàn)略性產(chǎn)業(yè),大數(shù)據(jù)技術(shù)為社會經(jīng)濟活動提供決策依據(jù),提高各個領(lǐng)域的運行效率,提升整個社會經(jīng)濟的集約化程度,對于我國經(jīng)濟發(fā)展轉(zhuǎn)型具有重要的推動作用。大數(shù)據(jù)的企業(yè)意義如何應(yīng)對大數(shù)據(jù)時代的到來已經(jīng)成為了每一個企業(yè)需要面對的問題。我國大數(shù)據(jù)市場的預(yù)測2022-2027年中國大數(shù)據(jù)市場規(guī)模及預(yù)測(單位:億元)預(yù)計2027年我國大數(shù)據(jù)市場規(guī)模將達(dá)到2930.9億元,未來六年復(fù)合年增長率為22.6%。(資料來源:CCID前瞻產(chǎn)業(yè)研究院)大數(shù)據(jù)的產(chǎn)業(yè)鏈分析
運營分析非關(guān)系型數(shù)據(jù)庫簡介NoSQL數(shù)據(jù)庫簡介
NoSQL(NoSQL=NotOnlySQL),意即“不僅僅是SQL”。NoSQL是一項全新的數(shù)據(jù)庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護(hù)者們提倡運用非關(guān)系型的數(shù)據(jù)存儲,相對于鋪天蓋地的關(guān)系型數(shù)據(jù)庫運用,它無疑是一種全新思維的注入。RDBMS與NoSQL比較RDBMS是:高度組織化結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化查詢語言(SQL,包括數(shù)據(jù)操縱和數(shù)據(jù)定義),數(shù)據(jù)和關(guān)系都存儲在單獨的表中,嚴(yán)格的一致性,基礎(chǔ)事務(wù)NoSQL:代表著不僅僅是SQL;沒有聲明性查詢語言;沒有預(yù)定義的模式;存儲模式多樣(鍵-值對存儲,列存儲,文檔存儲,圖形數(shù)據(jù)庫);最終一致性,而非ACID屬性;非結(jié)構(gòu)化和不可預(yù)知的數(shù)據(jù);CAP定理;高性能,高可用性和可伸縮性CAP定理
1)什么是CAP定理RDBMS與NoSQL比較CAP定理(CAPtheorem),又被稱作布魯爾定理(Brewer'stheorem),它指出對于一個分布式計算系統(tǒng)來說,不可能同時滿足以下三點:一致性(Consistency):所有節(jié)點在同一時間具有相同的數(shù)據(jù)可用性(Availability):保證每個請求不管成功或者失敗都有響應(yīng)分隔容忍(Partitiontolerance):系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的繼續(xù)運作CAP理論的核心是:一個分布式系統(tǒng)不可能同時很好的滿足一致性、可用性和分區(qū)容錯性這三個需求,最多只能同時較好的滿足兩個。根據(jù)CAP原理將NoSQL數(shù)據(jù)庫分成了滿足CA原則、滿足CP原則和滿足AP原則三大類:CA-單點集群,滿足一致性,可用性的系統(tǒng),通常在可擴展性上不太強大。
CP-滿足一致性,分區(qū)容忍性的系統(tǒng),通常性能不是特別高。AP-滿足可用性,分區(qū)容忍性的系統(tǒng),通常可能對一致性要求低一些。CAP定理
1)什么是BASEBASE:BasicallyAvailable,Soft-state,EventuallyConsistent。由EricBrewer定義。CAP理論的核心是:一個分布式系統(tǒng)不可能同時很好的滿足一致性、可用性和分區(qū)容錯性這三個需求,最多只能同時較好的滿足兩個。BASE是NoSQL數(shù)據(jù)庫通常對可用性及一致性的弱要求原則:BasicallyAvailble--基本可用Soft-state--軟狀態(tài)/柔性事務(wù)。"Softstate"可以理解為"無連接"的,而"Hardstate"是"面向連接"的EventualConsistency--最終一致性,也是ACID的最終目的。NoSQL數(shù)據(jù)庫分類
1)列存儲,如Hbase、Cassandra、Hypertable等,顧名思義,是按列存儲數(shù)據(jù)的。最大的特點是方便存儲結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),方便做數(shù)據(jù)壓縮,針對某一列或者某幾列的查詢有非常大的IO優(yōu)勢。2)文檔存儲,如MongoDB、CouchDB,文檔存儲一般用類似json的格式存儲,存儲的內(nèi)容是文檔型的。這樣也就有機會對某些字段建立索引,實現(xiàn)關(guān)系數(shù)據(jù)庫的某些功能。3)key-value存儲,如TokyoCabinet/Tyrant、BerkeleyDB、MemcacheDB、Redis等,可以通過key快速查詢到其value。一般來說,存儲不管value的格式,照單全收。(Redis包含了其他功能)4)圖存儲,如Neo4J、FlockDB等,圖形關(guān)系的最佳存儲。使用傳統(tǒng)關(guān)系數(shù)據(jù)庫來解決的話性能低下,而且設(shè)計使用不方便。5)對象存儲,如db4o、Versant等,通過類似面向?qū)ο笳Z言的語法操作數(shù)據(jù)庫,通過對象的方式存取數(shù)據(jù)。6)XML數(shù)據(jù)庫,如BerkeleyDBXML、BaseX等,高效的存儲XML數(shù)據(jù),并支持XML的內(nèi)部查詢語法,比如XQuery,Xpath。MongoDB數(shù)據(jù)庫連接與訪問3.1MongoDB數(shù)據(jù)庫簡介
1)什么是MongoDBMongoDB是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。MongoDB旨在為Web應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。MongoDB將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB文檔類似于JSON對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。3.1MongoDB數(shù)據(jù)庫簡介
2)MongoDB主要特點面向文檔存儲的數(shù)據(jù)庫,安裝、操作比較簡單和容易。可以在MongoDB記錄中設(shè)置任何屬性的索引(如:FirstName="Sameer",Address="8GandhiRoad")來實現(xiàn)更快的排序。擴展性強??梢酝ㄟ^本地或者網(wǎng)絡(luò)創(chuàng)建數(shù)據(jù)鏡像,負(fù)載可以分布到計算機網(wǎng)絡(luò)中其他節(jié)點。支持豐富的查詢表達(dá)式。查詢指令使用JSON形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對象及數(shù)組。支持豐富的查詢表達(dá)式,并使用Map/reduce函數(shù)對數(shù)據(jù)進(jìn)行批量處理和聚合操作,使用update()命令可以實現(xiàn)替換完成的文檔(數(shù)據(jù))或者一些指定的數(shù)據(jù)字段。查詢指令使用JSON形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對象及數(shù)組。GridFS是MongoDB中的一個內(nèi)置功能,可以用于存放大量小文件。允許在服務(wù)端執(zhí)行腳本,可以用Javascript編寫某個函數(shù),直接在服務(wù)端執(zhí)行,也可以把函數(shù)的定義存儲在服務(wù)端,下次直接調(diào)用即可。支持各種編程語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。3.2.Python訪問MongoDB操作
1)準(zhǔn)備工作:確保已經(jīng)安裝好MongoDB并啟動其服務(wù),并且安裝好了Python的PyMongo庫。2)連接MongoDB連接MongoDB時,需要使用PyMongo庫里面的MongoClient。一般來說,傳入MongoDB的IP及端口即可,其中第一個參數(shù)為地址host,第二個參數(shù)為端口port(默認(rèn)是27017):importpymongo;client=pymongo.MongoClient(host=‘localhost’,port=27017)。另外,MongoClient的第一個參數(shù)host還可以直接傳入MongoDB的連接字符串,它以mongodb開頭,例如:client=MongoClient('mongodb://localhost:27017/')。3)指定數(shù)據(jù)庫MongoDB中可以建立多個數(shù)據(jù)庫,接下來需要指定操作哪個數(shù)據(jù)庫。這里以test數(shù)據(jù)庫為例來說明,下一步需要在程序中指定要使用的數(shù)據(jù)庫:db=client.test這里調(diào)用client的test屬性即可返回test數(shù)據(jù)庫。也可以這樣指定:db=client['test']4)指定集合MongoDB的每個數(shù)據(jù)庫又包含許多集合(collection),它們類似于關(guān)系型數(shù)據(jù)庫中的表。下一步需要指定要操作的集合,這里指定一個集合名稱為students。與指定數(shù)據(jù)庫類似,指定集合也有兩種方式:collection=db.students;或者collection=db['students']3.2.Python訪問MongoDB操作
示例代碼#1.導(dǎo)入模塊importpymongo#2.連接數(shù)據(jù)庫client=pymongo.MongoClient(host='localhost',port=27017)#MongoClient的第一個參數(shù)host還可以直接傳入MongoDB的連接字符串,它以mongodb開頭#client=MongoClient('mongodb://localhost:27017/')#3.指定數(shù)據(jù)庫db=client['test-database']#4.指定集合:MongoDB的每個數(shù)據(jù)庫又包含許多集合(collection),它們類似于關(guān)系型數(shù)據(jù)庫中的表collection=db.posts#或者db['posts']#5.插入數(shù)據(jù)post_record={'author':"Dongpu",'text':"MyfirstblogpostforCUEB!",'tags':"Python"}result=collection.insert(post_record)#也可以同時插入多條數(shù)據(jù),只需要以列表形式傳遞即可#在MongoDB中,每條數(shù)據(jù)其實都有一個_id屬性來唯一標(biāo)識。#如果沒有顯式指明該屬性,MongoDB會自動產(chǎn)生一個ObjectId類型的_id屬性。insert()方法會在執(zhí)行后返回_id
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人投資合同標(biāo)準(zhǔn)版本(三篇)
- 2025年二年級語文教師個人工作小結(jié)(3篇)
- 2025年五年級班主任期末工作總結(jié)范例(二篇)
- 2025年個人租車給公司合同協(xié)議(2篇)
- 2025年產(chǎn)業(yè)技術(shù)合作協(xié)議經(jīng)典版(三篇)
- 產(chǎn)業(yè)園辦公區(qū)設(shè)計合同
- 書法教室裝修合作協(xié)議范本
- 住宅精裝修水電施工合同
- 水泥運輸車輛調(diào)度協(xié)議
- 廠房改造工程勞務(wù)協(xié)議
- 新員工入職通識考試(中軟國際)
- 四星級酒店工程樣板房裝修施工匯報
- 圓翳內(nèi)障病(老年性白內(nèi)障)中醫(yī)診療方案
- 博士后進(jìn)站申請書博士后進(jìn)站申請書八篇
- 華為攜手深圳國際會展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 全過程工程咨詢服務(wù)技術(shù)方案
- GB/T 41509-2022綠色制造干式切削工藝性能評價規(guī)范
- 土木工程畢業(yè)設(shè)計(論文)-五層宿舍樓建筑結(jié)構(gòu)設(shè)計
- 青年卒中 幻燈
- 典型倒閘操作票
評論
0/150
提交評論