大数据产品开发流程规范_大数据开发流程规范化(最新数据流图及相关数据技术分析)...
大數(shù)據(jù)的開發(fā)過程,如圖1-1所示。
圖 1-1大數(shù)據(jù)開發(fā)通用步驟圖
上圖只是一個(gè)簡化后的步驟和流程,實(shí)際開發(fā)中,有的步驟可能不需要,有的還需要增加步驟,有的流程可能更復(fù)雜,因具體情況而定。
下面以Google搜索引擎為例,來說明以上步驟。
對大數(shù)據(jù)以及人工智能概念都是模糊不清的,該按照什么線路去學(xué)習(xí),學(xué)完往哪方面發(fā)展,想深入了解,想學(xué)習(xí)的同學(xué)歡迎加入大數(shù)據(jù)學(xué)習(xí)qq群:458345782,有大量干貨(零基礎(chǔ)以及進(jìn)階的經(jīng)典實(shí)戰(zhàn))分享給大家,并且有清華大學(xué)畢業(yè)的資深大數(shù)據(jù)講師給大家免費(fèi)授課,給大家分享目前國內(nèi)最完整的大數(shù)據(jù)高端實(shí)戰(zhàn)實(shí)用學(xué)習(xí)流程體系 。從java和linux入手,其后逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相關(guān)知識一一分享!
1. 大數(shù)據(jù)采集
Google的數(shù)據(jù)來源于互聯(lián)網(wǎng)上的網(wǎng)頁,它們由Google Spider(蜘蛛、爬蟲、機(jī)器人)來抓取,抓取的原理也很簡單,就是模擬我們?nèi)说男袨?#xff0c;來訪問各個(gè)網(wǎng)頁,然后保存網(wǎng)頁內(nèi)容。
Google Spider是一個(gè)程序,運(yùn)行在全球各地的Google服務(wù)器之中,Spider們非常勤奮,日夜不停地工作。
2008年Google數(shù)據(jù)表明,它們每天都會訪問大約200億個(gè)網(wǎng)頁,而在總量上,它們追蹤著300億個(gè)左右的獨(dú)立URL鏈接。
可以說,只要是互聯(lián)網(wǎng)上的網(wǎng)站,只要沒有在robots.txt文件禁止Spider訪問的話,其網(wǎng)頁基本上都會在很短的時(shí)間內(nèi),被抓取到Google的服務(wù)器上。
全球的網(wǎng)頁,這是典型的大數(shù)據(jù)。因此,Google Spider所做的就是典型的大數(shù)據(jù)采集工作。
2. 大數(shù)據(jù)預(yù)處理
Google Spider爬取的網(wǎng)頁,無論是從格式還是結(jié)構(gòu)等,都不統(tǒng)一,為了便于后續(xù)處理,需要先做一些處理,例如,在存儲之前,先轉(zhuǎn)碼,使用統(tǒng)一的格式對網(wǎng)頁進(jìn)行編碼,這些工作就是預(yù)處理。
3. 大數(shù)據(jù)存儲
網(wǎng)頁經(jīng)過預(yù)處理后,就可以存儲到Google的服務(wù)器上。
2008年,Google已經(jīng)索引了全世界1萬億個(gè)網(wǎng)頁,到2014年,這個(gè)數(shù)字變成了30萬億個(gè)。
為了減少開銷,節(jié)約空間,Google將多個(gè)網(wǎng)頁文件合并成一個(gè)大文件,文件大小通常在1GB以上。
這還是15年以前的數(shù)字,那時(shí),主流臺式機(jī)硬盤也就是60GB左右,1GB的文件在當(dāng)時(shí)可以說是大文件了。
為了實(shí)現(xiàn)這些大文件高效、可靠、低成本存儲,Google發(fā)明了一種構(gòu)建在普通商業(yè)機(jī)器之上的分布式文件系統(tǒng):Google File System,縮寫為GFS,用來存儲文件(又稱之為非結(jié)構(gòu)化數(shù)據(jù))。
網(wǎng)頁文件存儲下來后,就可以對這些網(wǎng)頁進(jìn)行處理了,例如統(tǒng)計(jì)每個(gè)網(wǎng)頁出現(xiàn)的單詞以及次數(shù),統(tǒng)計(jì)每個(gè)網(wǎng)頁的外鏈等等。
這些被統(tǒng)計(jì)的信息,就成為了數(shù)據(jù)庫表中的一個(gè)屬性,每個(gè)網(wǎng)頁最終就會成為數(shù)據(jù)庫表中的一條或若干條記錄。
由于Google存儲的網(wǎng)頁太多,30萬億個(gè)以上,因此,這個(gè)數(shù)據(jù)庫表也是超級龐大的,傳統(tǒng)的數(shù)據(jù)庫,像Oracle等,根本無法處理這么大的數(shù)據(jù),因此Google基于GFS,發(fā)明了一種存儲海量結(jié)構(gòu)化數(shù)據(jù)(數(shù)據(jù)庫表)的分布式系統(tǒng)Bigtable。
上述兩個(gè)系統(tǒng)(GFS和Bigtable)并未開源,Google僅通過文章的形式,描述了它們的設(shè)計(jì)思想。
所幸的是,基于Google的這些設(shè)計(jì)思想,時(shí)至今日,已經(jīng)出現(xiàn)了不少開源海量數(shù)據(jù)分布式文件系統(tǒng),如HDFS等,也出現(xiàn)了許多開源海量結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng),如HBase、Cassandra等,它們分別用于不同類型大數(shù)據(jù)的存儲。
總之,如果采集過來的大數(shù)據(jù)需要存儲,要先判斷數(shù)據(jù)類型,再確定存儲方案選型;
如果不需要存儲(如有的流數(shù)據(jù)不需要存儲,直接處理),則直接跳過此步驟,進(jìn)行處理。
4. 大數(shù)據(jù)處理
網(wǎng)頁存儲后,就可以對存儲的數(shù)據(jù)進(jìn)行處理了,對于搜索引擎來說,主要有3步:
1)單詞統(tǒng)計(jì):統(tǒng)計(jì)網(wǎng)頁中每個(gè)單詞出現(xiàn)的次數(shù);
2)倒排索引:統(tǒng)計(jì)每個(gè)單詞所在的網(wǎng)頁URL(Uniform Resource Locator統(tǒng)一資源定位符,俗稱網(wǎng)頁網(wǎng)址)以及次數(shù);
3)計(jì)算網(wǎng)頁級別:根據(jù)特定的排序算法,如PageRank,來計(jì)算每個(gè)網(wǎng)頁的級別,越重要的網(wǎng)頁,級別越高,以此決定網(wǎng)頁在搜索返回結(jié)果中的排序位置。
例如,當(dāng)用戶在搜索框輸入關(guān)鍵詞“足球”后,搜索引擎會查找倒排索引表,得到“足球”這個(gè)關(guān)鍵詞在哪些網(wǎng)頁(URL)中出現(xiàn),然后,根據(jù)這些網(wǎng)頁的級別進(jìn)行排序,將級別最高的網(wǎng)頁排在最前面,返回給用戶,這就是點(diǎn)擊“搜索”后,看到的最終結(jié)果。
大數(shù)據(jù)處理時(shí),往往需要從存儲系統(tǒng)讀取數(shù)據(jù),處理完畢后,其結(jié)果也往往需要輸出到存儲。因此,大數(shù)據(jù)處理階段和存儲系統(tǒng)的交互非常頻繁。
大數(shù)據(jù)處理和前面大數(shù)據(jù)預(yù)處理,在技術(shù)上是相通的,只是所處階段不同;
此處理環(huán)節(jié)是大數(shù)據(jù)開發(fā)階段的一個(gè)必需的環(huán)節(jié)!
5. 大數(shù)據(jù)可視化
大數(shù)據(jù)可視化是將數(shù)據(jù)以圖形的方式展現(xiàn)出來,與純粹的數(shù)字表示相比,圖形方式更為直觀,更容易發(fā)現(xiàn)數(shù)據(jù)之間的規(guī)律。
例如,Google Analytics是一個(gè)網(wǎng)站流量分析工具,它統(tǒng)計(jì)每個(gè)用戶使用搜索引擎訪問網(wǎng)站的數(shù)據(jù),然后得到每個(gè)網(wǎng)站的流量信息,包括網(wǎng)站每天的訪問次數(shù),訪問量最多的頁面、用戶的平均停留時(shí)間、回訪率等,所有數(shù)據(jù)都以圖形的方式,直觀地顯示出來,如圖1-2所示
圖1-2 Google網(wǎng)站訪問量分析圖
總結(jié)
以上是生活随笔為你收集整理的大数据产品开发流程规范_大数据开发流程规范化(最新数据流图及相关数据技术分析)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云付通过银联认证了吗_查询pos设备是否
- 下一篇: python作业——输入一个月份单词输出