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

2021-03-08    分類: 網(wǎng)站建設(shè)

分析大量數(shù)據(jù)只是使大數(shù)據(jù)與以前的數(shù)據(jù)分析不同的部分原因之一。讓我們來從下面三個方面看看。

我們每天都在吃飯,睡覺,工作,玩耍,與此同時產(chǎn)生大量的數(shù)據(jù)。根據(jù)IBM調(diào)研的說法,人類每天生成2.5億(250億)字節(jié)的數(shù)據(jù)。 這相當于一堆DVD數(shù)據(jù)從地球到月球的距離,涵蓋我們發(fā)送的文本、上傳的照片、各類傳感器數(shù)據(jù)、設(shè)備與設(shè)備之間的通信的所有信息等。

這也就是為什么“大數(shù)據(jù)”成為如此常見的流行詞的一個重要原因。簡單地說,當人們談?wù)摯髷?shù)據(jù)時,他們指的是獲取大量數(shù)據(jù)的能力,分析它,并將其轉(zhuǎn)化為有用的東西。

01 確切的說,什么是大數(shù)據(jù)?

當然,大數(shù)據(jù)還遠遠不止這些?

通常從多個來源獲取大量數(shù)據(jù)

不僅僅是大量的數(shù)據(jù),而且是不同類型的數(shù)據(jù),同時也有多種數(shù)據(jù),以及隨時間變化的數(shù)據(jù),這些數(shù)據(jù)不需要轉(zhuǎn)換成特定的格式或一致性。

以一種方式分析數(shù)據(jù),允許對相同的數(shù)據(jù)池進行分析,從而實現(xiàn)不同的目的

盡快實現(xiàn)所有這一切。

在早些時候,這個行業(yè)提出了一個縮略詞來描述這四個方面中的三個:VVV,體積(數(shù)量巨大),多樣性(不同類型的數(shù)據(jù)和數(shù)據(jù)隨時間變化的事實)和周轉(zhuǎn)率(速度)。

02 大數(shù)據(jù)與數(shù)據(jù)倉庫

VVV的縮寫詞所忽略的是數(shù)據(jù)不需要永久更改(轉(zhuǎn)換)的關(guān)鍵概念——進行分析。這種非破壞性分析意味著,組織可以分析相同的數(shù)據(jù)連接池以不同的目的,并可以收集到不同目的的來源分析數(shù)據(jù)。

(備注:數(shù)據(jù)庫連接池負責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個現(xiàn)有的數(shù)據(jù)庫連接,而不是再重新建立一個;釋放空閑時間超過大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項技術(shù)能明顯提高對數(shù)據(jù)庫操作的性能。)

相比之下,數(shù)據(jù)倉庫是專門為特定目的分析特定數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)化并轉(zhuǎn)換為特定格式,原始數(shù)據(jù)在該過程中基本上被銷毀,用于特定目的,而不是其他被稱為提取,轉(zhuǎn)換和加載(ETL)。 數(shù)據(jù)倉庫的ETL方法有限分析具體數(shù)據(jù)進行具體分析。 當您的所有數(shù)據(jù)都存在于您的交易系統(tǒng)中時,這是非常好的,但在當今互聯(lián)網(wǎng)連接的世界中,數(shù)據(jù)來自無處不在。

備注:ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽取(extract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過程。ETL一詞較常用在數(shù)據(jù)倉庫,但其對象并不限于數(shù)據(jù)倉庫。

ETL是構(gòu)建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預(yù)先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。

信息是現(xiàn)代企業(yè)的重要資源,是企業(yè)運用科學(xué)管理、決策分析的基礎(chǔ)。目前,大多數(shù)企業(yè)花費大量的資金和時間來構(gòu)建聯(lián)機事務(wù)處理OLTP的業(yè)務(wù)系統(tǒng)和辦公自動化系統(tǒng),用來記錄事務(wù)處理的各種相關(guān)數(shù)據(jù)。據(jù)統(tǒng)計,數(shù)據(jù)量每2~3年時間就會成倍增長,這些數(shù)據(jù)蘊含著巨大的商業(yè)價值,而企業(yè)所關(guān)注的通常只占在總數(shù)據(jù)量的2%~4%左右。因此,企業(yè)仍然沒有大化地利用已存在的數(shù)據(jù)資源,以至于浪費了更多的時間和資金,也失去制定關(guān)鍵商業(yè)決策的好契機。于是,企業(yè)如何通過各種技術(shù)手段,并把數(shù)據(jù)轉(zhuǎn)換為信息、知識,已經(jīng)成了提高其核心競爭力的主要瓶頸。而ETL則是主要的一個技術(shù)手段。

數(shù)據(jù)倉庫,是為企業(yè)所有級別的決策制定過程,提供所有類型數(shù)據(jù)支持的戰(zhàn)略集合。它是單個數(shù)據(jù)存儲,出于分析性報告和決策支持目的而創(chuàng)建。 為需要業(yè)務(wù)智能的企業(yè),提供指導(dǎo)業(yè)務(wù)流程改進、監(jiān)視時間、成本、質(zhì)量以及控制。數(shù)據(jù)倉庫是決策支持系統(tǒng)(dss)和聯(lián)機分析應(yīng)用數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)環(huán)境。數(shù)據(jù)倉庫研究和解決從數(shù)據(jù)庫中獲取信息的問題。數(shù)據(jù)倉庫的特征在于面向主題、集成性、穩(wěn)定性和時變性。

決策支持系統(tǒng)(Decision Support System,簡稱DSS),是以管理科學(xué)、運籌學(xué)、控制論、和行為科學(xué)為基礎(chǔ),以計算機技術(shù)、仿真技術(shù)和信息技術(shù)為手段,針對半結(jié)構(gòu)化的決策問題,支持決策活動的具有智能作用的人機系統(tǒng)。該系統(tǒng)能夠為決策者提供所需的數(shù)據(jù)、信息和背景資料,幫助明確決策目標和進行問題的識別,建立或修改決策模型,提供各種備選方案,并且對各種方案進行評價和優(yōu)選,通過人機交互功能進行分析、比較和判斷,為正確的決策提供必要的支持。它通過與決策者的一系列人機對話過程,為決策者提供各種可靠方案,檢驗決策者的要求和設(shè)想,從而達到支持決策的目的。

決策支持系統(tǒng)一般由交互語言系統(tǒng)、問題系統(tǒng)以及數(shù)據(jù)庫、模型庫、方法庫、知識庫管理系統(tǒng)組成。在某些具體的決策支持系統(tǒng)中,也可以沒有單獨的知識庫及其管理系統(tǒng),但模型庫和方法庫通常則是必須的。由于應(yīng)用領(lǐng)域和研究方法不同,導(dǎo)致決策支持系統(tǒng)的結(jié)構(gòu)有多種形式。

決策支持系統(tǒng)強調(diào)的是對管理決策的支持,而不是決策的自動化,它所支持的決策可以是任何管理層次上的,如戰(zhàn)略級、戰(zhàn)術(shù)級或執(zhí)行級的決策。

但是,不要認為大數(shù)據(jù)會使數(shù)據(jù)倉庫過時。大數(shù)據(jù)系統(tǒng)可以讓您在很大程度上處理非結(jié)構(gòu)化數(shù)據(jù),但是所得到的查詢結(jié)果與數(shù)據(jù)倉庫的復(fù)雜程度是不一樣的。畢竟,數(shù)據(jù)倉庫是為了深入數(shù)據(jù)而設(shè)計的,它之所以能夠做到這一點,是因為它已經(jīng)將所有數(shù)據(jù)轉(zhuǎn)換成一種一致的格式,讓您可以像構(gòu)建立方體一樣進行深入查詢。

多年來,數(shù)據(jù)倉庫供應(yīng)商一直在優(yōu)化他們的查詢引擎,以回答典型的業(yè)務(wù)環(huán)境問題。大數(shù)據(jù)可以讓你從更多的數(shù)據(jù)源中獲取更多的數(shù)據(jù),但分辨率要低一些。因此,在未來一段時間內(nèi),我們將與傳統(tǒng)的數(shù)據(jù)倉庫一起并存。

03 技術(shù)突破大數(shù)據(jù)背后

為了完成大數(shù)據(jù)量,品種,非破壞性使用和速度的四個方面,包括分布式文件系統(tǒng)(hadoop)的開發(fā),一種意識到不同數(shù)據(jù)的方法(Google的Map、Reduce以及最近的Apache Spark),以及云/互聯(lián)網(wǎng)基礎(chǔ)設(shè)施,用于根據(jù)需要訪問和移動數(shù)據(jù)。

直到大約十幾年前,在任何一個時間都不可能操縱比較少的數(shù)據(jù)。(嗯,我們都認為數(shù)據(jù)倉庫當時是巨大的,隨著互聯(lián)網(wǎng)的產(chǎn)生和連接的數(shù)據(jù)到處都是這樣的背景)。對數(shù)據(jù)存儲的數(shù)量和位置的限制、計算能力以及處理來自多個數(shù)據(jù)源的不同數(shù)據(jù)格式的能力使得這項任務(wù)幾乎不可能完成。

然后,在2003年左右的時間里,Google的研究人員開發(fā)了Map、Reduce。 這種編程技術(shù)通過首先將數(shù)據(jù)映射到一系列鍵/值對來簡化處理大數(shù)據(jù)集,然后對類似的鍵執(zhí)行計算以將它們減少到單個值,以數(shù)百或數(shù)千個低位并行處理每個數(shù)據(jù)塊 成型機。 這種巨大的并行性允許Google從越來越大量的數(shù)據(jù)中產(chǎn)生更快的搜索結(jié)果。

在2003年,Google創(chuàng)造了兩個突破,使得大數(shù)據(jù)成為可能:一個是Hadoop,它由兩個關(guān)鍵服務(wù)組成:

使用Hadoop分布式文件系統(tǒng)(HDFS)可靠的數(shù)據(jù)存儲

使用稱為Map、Reduce的技術(shù)進行高性能并行數(shù)據(jù)處理。

Hadoop運行在商品,無共享服務(wù)器的集合上。 您可以隨意添加或刪除Hadoop集群中的服務(wù)器; 系統(tǒng)檢測并補償任何服務(wù)器上的硬件或系統(tǒng)問題。 換句話說,Hadoop是自我修復(fù)的。 盡管發(fā)生系統(tǒng)更改或故障,它可以提供數(shù)據(jù)并運行大規(guī)模,高性能的處理作業(yè)。

Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。

Hadoop的框架最核心的設(shè)計就是:HDFS和Map、Reduce。HDFS為海量的數(shù)據(jù)提供了存儲,則Map、Reduce為海量的數(shù)據(jù)提供了計算。

盡管Hadoop為數(shù)據(jù)存儲和并行處理提供了一個平臺,但實際價值來自于該技術(shù)的附加組件,交叉集成和自定義實現(xiàn)。 為此,Hadoop提供的子項目為平臺增加了功能和新功能:

Hadoop Common:支持其他Hadoop子項目的常用工具。

Chukwa:用于管理大型分布式系統(tǒng)的數(shù)據(jù)收集系統(tǒng)。

HBase:可擴展的分布式數(shù)據(jù)庫,支持大型表格的結(jié)構(gòu)化數(shù)據(jù)存儲。

HDFS:分布式系統(tǒng),可提供對應(yīng)用程序數(shù)據(jù)的高吞吐量訪問。

蜂巢:提供數(shù)據(jù)匯總和即席查詢的數(shù)據(jù)倉庫基礎(chǔ)設(shè)施。

Map/Reduce:用于在計算集群上分布式處理大型數(shù)據(jù)集的軟件框架。

pig:并行計算的高級數(shù)據(jù)語言和執(zhí)行框架。

ZooKeeper:分布式應(yīng)用程序的高性能協(xié)調(diào)服務(wù)。

Hadoop平臺的大多數(shù)實施方案至少包括這些子項目中的一些,因為它們通常是開發(fā)大數(shù)據(jù)所必需的。 例如,大多數(shù)組織選擇使用HDFS作為主分布式文件系統(tǒng),將HBase用作數(shù)據(jù)庫,可以存儲數(shù)十億行的數(shù)據(jù)。 并且使用Map/Reduce或更新近的Spark幾乎是給定的,因為它們?yōu)镠adoop平臺帶來了速度和靈活性。

通過Map、Reduce,開發(fā)人員可以創(chuàng)建可以并行處理大量非結(jié)構(gòu)化數(shù)據(jù)的程序,這些數(shù)據(jù)可以在分布式的處理器或獨立計算機上并行處理。MapReduce框架被劃分為兩個功能區(qū)域:

Map(映射),一個將工作分發(fā)到分布式集群中的不同節(jié)點的功能。

Reduce函數(shù):整理工作并將結(jié)果解析成單個值的功能。

Map、Reduce的主要優(yōu)點之一是它是容錯的,它通過監(jiān)視集群中的每個節(jié)點來實現(xiàn);每個節(jié)點都需要定期報告,完成的工作和狀態(tài)更新。如果一個節(jié)點保持比預(yù)期的時間,間隔更長的時間,那么主節(jié)點將會記錄并將工作分配給其他節(jié)點。

Apache Hadoop是一種使用Map、Reduce核心的開源框架,兩年后開發(fā)出來了。Hadoop最初是用來索引現(xiàn)在不知名的Nutch搜索引擎的,現(xiàn)在幾乎所有主要行業(yè)都使用Hadoop來進行大范圍的大數(shù)據(jù)工作。得益于Hadoop的分布式文件系統(tǒng)和紗線(另一個資源協(xié)商者),該軟件讓用戶可以在數(shù)千臺設(shè)備上處理大規(guī)模數(shù)據(jù)集,就好像它們都在一臺巨大的機器上一樣。

Nutch 是一個開源Java 實現(xiàn)的搜索引擎。它提供了我們運行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬蟲。

Nutch組成:

爬蟲crawler和查詢searcher。

Crawler主要用于從網(wǎng)絡(luò)上抓取網(wǎng)頁并為這些網(wǎng)頁建立索引。

Searcher主要利用這些索引檢索用戶的查找關(guān)鍵詞來產(chǎn)生查找結(jié)果。

兩者之間的接口是索引,所以除去索引部分,兩者之間的耦合度很低。

Crawler和Searcher兩部分盡量分開的目的主要是為了使兩部分可以分布式配置在硬件平臺上,例如將Crawler和Searcher分別放在兩個主機上,這樣可以提升性能。

Crawler 的重點在兩個方面,Crawler的工作流程和涉及的數(shù)據(jù)文件的格式和含義。數(shù)據(jù)文件主要包括三類,分別是web database(WebDB),一系列的segment加上index,三者的物理文件分別存儲在爬行結(jié)果目錄下的db目錄下webdb子文件夾內(nèi),segments 文件夾和index文件夾。那么三者分別存儲的信息是什么呢?

一次爬行會產(chǎn)生很多個segment,每個segment內(nèi)存儲的是爬蟲Crawler在單獨一次抓取循環(huán)中抓到的網(wǎng)頁以及這些網(wǎng)頁的索引。Crawler爬行時會根據(jù)WebDB中的link關(guān)系按照一定的爬行策略生成每次抓取循環(huán)所需的fetchlist(Crawler根據(jù)WebDB生成一個待抓取網(wǎng)頁的URL集合),然后 Fetcher(下載線程)通過fetchlist中的URLs抓取這些網(wǎng)頁并索引,然后將其存入segment。Segment是有時限的,當這些網(wǎng)頁被 Crawler重新抓取后,先前抓取產(chǎn)生的segment就作廢了。在存儲中。Segment文件夾是以產(chǎn)生時間命名的,方便我們刪除作廢的 segments以節(jié)省存儲空間。

Index是Crawler抓取的所有網(wǎng)頁的索引,它是通過對所有單個segment中的索引進行合并處理所得的。Nutch利用Lucene技術(shù)進行索引,所以Lucene中對索引進行操作的接口對Nutch中的index同樣有效。但是需要注意的是,Lucene 中的segment和Nutch中的不同,Lucene中的segment是索引index的一部分,但是Nutch中的segment只是WebDB中各個部分網(wǎng)頁的內(nèi)容和索引,最后通過其生成的index跟這些segment已經(jīng)毫無關(guān)系了。

Web database,也叫WebDB,其中存儲的是爬蟲所抓取網(wǎng)頁之間的鏈接結(jié)構(gòu)信息,它只在爬蟲Crawler工作中使用而和Searcher的工作沒有 任何關(guān)系。WebDB內(nèi)存儲了兩種實體的信息:page和link。Page實體通過描述網(wǎng)絡(luò)上一個網(wǎng)頁的特征信息來表征一個實際的網(wǎng)頁,因為網(wǎng)頁有很多個需要描述,WebDB中通過網(wǎng)頁的URL和網(wǎng)頁內(nèi)容的MD5兩種索引方法對這些網(wǎng)頁實體進行了索引。Page實體描述的網(wǎng)頁特征主要包括網(wǎng)頁內(nèi)的link數(shù)目,抓取此網(wǎng)頁的時間等相關(guān)抓取信息,對此網(wǎng)頁的重要度評分等。同樣的,Link實體描述的是兩個page實體之間的鏈接關(guān)系。

工作步驟 :

在Nutch中,Crawler操作的實現(xiàn)是通過一系列子操作的實現(xiàn)來完成的。這些子操作Nutch都提供了子命令行可以單獨進行調(diào)用。下面就是這些子操作的功能描述以及命令行,命令行在括號中。

1. 創(chuàng)建一個新的WebDb(admin db -create).

2. 將抓取起始URLs寫入WebDB中 (inject).

3. 根據(jù)WebDB生成fetchlist并寫入相應(yīng)的segment(generate).

4. 根據(jù)fetchlist中的URL抓取網(wǎng)頁 (fetch).

5. 根據(jù)抓取網(wǎng)頁更新WebDb(updatedb).

6. 循環(huán)進行3-5步直至預(yù)先設(shè)定的抓取深度。

7. 根據(jù)WebDB得到的網(wǎng)頁評分和links更新segments (updatesegs).

8. 對所抓取的網(wǎng)頁進行索引(index).

9. 在索引中丟棄有重復(fù)內(nèi)容的網(wǎng)頁和重復(fù)的URLs (dedup).

10. 將segments中的索引進行合并生成用于檢索的最終index(merge).

2009年,加州大學(xué)伯克利分校的研究人員開發(fā)了Apache Spark作為MapReduce的替代品。 由于Spark使用內(nèi)存存儲并行執(zhí)行計算,因此可以比MapReduce快100倍。 Spark可以作為獨立框架或Hadoop內(nèi)部工作。

使用Hadoop,仍然需要一種存儲和訪問數(shù)據(jù)的方法。 這通常通過諸如MongoDB之類的NoSQL數(shù)據(jù)庫(如CouchDB或Cassandra)完成,該數(shù)據(jù)庫專門處理分布在多臺計算機上的非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)。與在數(shù)據(jù)倉庫中不同的是,大量數(shù)據(jù)和類型的數(shù)據(jù)融合成統(tǒng)一格式并存儲在單個數(shù)據(jù)存儲中,這些工具不會改變數(shù)據(jù)的底層性質(zhì)或位置 – 電子郵件仍然是電子郵件,傳感器數(shù)據(jù)仍然是 傳感器數(shù)據(jù) – 可以幾乎存儲在任何地方。

盡管如此,在使用多臺機器的數(shù)據(jù)庫中存儲大量的數(shù)據(jù)并不是很好,直到你做了一些事情。 這就是大數(shù)據(jù)分析的原理。像Tableau,Splunk和Jasper BI這樣的工具可以讓您解析這些數(shù)據(jù),以識別模式,提取意義并揭示新的見解。 你所做的事情會因你的需要而有所不同。

網(wǎng)站欄目:什么是大數(shù)據(jù)
本文URL:http://www.bm7419.com/news1/104801.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站制作響應(yīng)式網(wǎng)站、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名