日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大数据概述【一】

發(fā)布時(shí)間:2024/10/5 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据概述【一】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、什么是大數(shù)據(jù)

最早提出在2002年,來源于美國的麥肯錫報(bào)告 4V特征: Volume(數(shù)據(jù)量大):PB級 Variety(數(shù)據(jù)多樣性):文本、圖像、視頻、音頻等 Velocity(輸入和處理速度快):流式數(shù)據(jù) Value(價(jià)值密度低):需要積累很多的數(shù)據(jù)才能發(fā)掘大數(shù)據(jù)隱含的意義,只要能發(fā)揮和挖掘數(shù)據(jù)隱藏的價(jià)值,不用糾結(jié)于數(shù)據(jù)量大小 由維克托·麥爾-舍恩伯格提出,被稱作大數(shù)據(jù)之父大數(shù)據(jù)核心問題:存儲、計(jì)算和分析。通過組件(計(jì)算框架)解決

2、數(shù)據(jù)倉庫和大數(shù)據(jù)

1、傳統(tǒng)方式:DW(Data Warehouse),基于傳統(tǒng)的關(guān)系數(shù)據(jù)庫(Oracle、Mysql等),一般只做查詢分析。TD(Teradata 天睿)數(shù)據(jù)倉庫一體機(jī)。 2、數(shù)據(jù)倉庫VS大數(shù)據(jù) 數(shù)據(jù)倉庫:Share Everything,存儲、計(jì)算、CPU共享? 大數(shù)據(jù):Share Nothing,單獨(dú)計(jì)算(map)、結(jié)果匯總(reduce) (去紅樓夢里找林黛玉出現(xiàn)了多少次,一個(gè)研究生(高性能服務(wù)器)讀可能要一天,10個(gè)小學(xué)生(低性能服務(wù)器)讀也要一天,但是研究生更貴,所以我們選擇小學(xué)生方案)

3、OLTP和OLAP

1、OLTP: Online Transaction Processing 聯(lián)機(jī)事物處理:(insert update delete)ACID: 所有的數(shù)據(jù)可追溯。-傳統(tǒng)關(guān)系型數(shù)據(jù)庫(Oracle Mysql Postgresql等) 2、OLAP: Online AnalyticProcessing 聯(lián)機(jī)分析處理 真正生產(chǎn)中是二者的結(jié)合:OLTP(后臺操作,前臺展示,數(shù)據(jù)設(shè)計(jì)等) + OLAP(Hive, Hbase, Spark等)

4、Google三篇論文

4、1、GFS: Google File System《分布式文件系統(tǒng)》


主要是為了解決Google搜索內(nèi)容和存儲問題,造價(jià)低,易擴(kuò)展。
倒排索引(Reverted Index)

4.1.1 傳統(tǒng)的文件系統(tǒng)存在如下問題:?
1、硬盤不夠大。?
2、數(shù)據(jù)存儲單份,比較危險(xiǎn)。

而Google提出的GFS(Google File System)思想能解決以上問題。GFS核心的思想是硬盤橫向擴(kuò)展以及數(shù)據(jù)冗余。

4.1.2 GFS的優(yōu)點(diǎn):?
* 理論上能存儲無限數(shù)據(jù),因?yàn)橛脖P可以橫向擴(kuò)展。?
* 容錯(cuò)性,數(shù)據(jù)冗余多份,多份數(shù)據(jù)同時(shí)損壞的概念幾乎為零。?
* 存儲大數(shù)據(jù)的性能比傳統(tǒng)關(guān)系型數(shù)據(jù)庫好。

4.1.3 分布式文件系統(tǒng)HDFS體系結(jié)構(gòu)如下圖:

其中上傳數(shù)據(jù)到分布式文件系統(tǒng)的基本過程如下(具體過程后面的文章再講):?
1、客戶端上傳數(shù)據(jù)塊到其中一個(gè)硬盤。?
2、分布式文件系統(tǒng)會根據(jù)機(jī)架感知計(jì)算出存儲數(shù)據(jù)庫的位置,通過水平復(fù)制冗余多份數(shù)據(jù)。

那么何為機(jī)架感知?如下圖:

4.1.4 分布式文件系統(tǒng)如何提高查詢速度??
(HDFS通過倒排索引存儲元數(shù)據(jù))?
采用倒排索引,倒排索引本質(zhì)上也是索引。

說到倒排索引能聯(lián)想到正排索引。那么什么是正排索引和倒排索引。通過如下例子來說明:

正排索引:根據(jù)文件找到關(guān)鍵字(如所有引擎爬到一個(gè)文件,這個(gè)文件提取出10個(gè)關(guān)鍵字,根據(jù)這個(gè)文件找到這10個(gè)關(guān)鍵字)

倒排索引:在搜索引擎中輸入一個(gè)關(guān)鍵字,需要搜索出相關(guān)的文件,如果使用正排索引,需要遍歷所有文件,這是不可能去遍歷的(效率太低)。就產(chǎn)生了倒排索引,倒排索引是記錄關(guān)鍵字對應(yīng)文件的位置,把文件的位置根據(jù)關(guān)鍵字存起來,那么輸入一個(gè)關(guān)鍵字的時(shí)候,就知道這個(gè)關(guān)鍵字所對應(yīng)的文件都在什么地方,從而快速搜索得到相關(guān)的文件。

4.2分布式計(jì)算模型

2、MapReduce: 分布計(jì)算模型。

分而治之。
PageRank

3、BigTable:大表
把所有數(shù)據(jù)存入一張表中,通過犧牲空間,換取時(shí)間。

4.2.1 來源:分布式計(jì)算模型來源于PageRank(網(wǎng)頁排名)

4.2.2 什么是PageRank??
Google每天爬取海量的網(wǎng)頁,那么如果按照重要程度來排名網(wǎng)頁,應(yīng)該如何排序??
如下圖例子,下圖說明的是4個(gè)網(wǎng)頁之間如何排序,核心思想是把網(wǎng)頁之間的關(guān)系轉(zhuǎn)換成矩陣,因?yàn)榫仃囀强梢杂?jì)算的,那么可以計(jì)算出各個(gè)網(wǎng)頁的重要程度,用數(shù)據(jù)來表示,數(shù)字越大表示越重要。但是Google每天爬取的網(wǎng)頁數(shù)量是非常龐大的,實(shí)際上不可能用一個(gè)矩陣來計(jì)算,因此分布式計(jì)算是來解決這個(gè)問題的。核心思想是把一個(gè)大的矩陣拆分成很多足夠小的矩陣,計(jì)算每個(gè)小得矩陣,再合并各個(gè)小矩陣的結(jié)果,從而得出大矩陣的結(jié)果,而這個(gè)過程是在分布式環(huán)境中運(yùn)行的,如下圖:?

4.2.3 分布式計(jì)算框架MapReduce

關(guān)于MapReduce,有幾點(diǎn)需要注意:?
1、Map階段的輸出,是Reduce階段的輸入。每個(gè)Map輸出的是一個(gè)值,Reduce階段的輸入是一個(gè)集合,集合中的每個(gè)元素就是Map的每個(gè)輸出值。?
2、Map的輸入來自HDFS,Reduce也輸出倒HDFS。?
3、圖中分別有4對key-value值。分別是k1 v1,k2 v2,k3 v3 ,k4 v4,分別是Map的輸入,Map的輸出,reduce的輸入,reduce的輸出。?
4、k2=k3,v2的類型和v3的類型一致?
5、MapReduce所有的輸入輸出類型必須是Hadoop的類型:LongWritable,java中得String對應(yīng)Hadoop中得Text,java中得null對應(yīng)hadoop中得NullWritable.?
6、MapReduce的輸入輸出必須實(shí)現(xiàn)hadoop的序列化,除了原生類型,也可以是自定義類型,但必須實(shí)現(xiàn)hadoop序列化。?
7、從hadoop2.x后,MapReduce程序必須運(yùn)行在Yarn框架中,本地模式除外(本?
地模式?jīng)]有YARN,也沒有HDFS,本地模式中的MapReduce就是一個(gè)單一的java程序)?

4.3 BigTable

4.3.1 大表的基本思想:把所有數(shù)據(jù)存入一張表,通過空間換取時(shí)間。

4.3.2 HBase是hadoop生態(tài)中大表的實(shí)現(xiàn),看下面一個(gè)例子,對比數(shù)據(jù)存在關(guān)系型數(shù)據(jù)庫Oracle和存在HBase中?

?

總結(jié)

以上是生活随笔為你收集整理的大数据概述【一】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。