大數(shù)據(jù)技術(shù)及應用-基于Python語言 思考題參考答案 嚴宣輝 第1-4章 初識大數(shù)據(jù)-大數(shù)據(jù)存儲_第1頁
大數(shù)據(jù)技術(shù)及應用-基于Python語言 思考題參考答案 嚴宣輝 第1-4章 初識大數(shù)據(jù)-大數(shù)據(jù)存儲_第2頁
大數(shù)據(jù)技術(shù)及應用-基于Python語言 思考題參考答案 嚴宣輝 第1-4章 初識大數(shù)據(jù)-大數(shù)據(jù)存儲_第3頁
大數(shù)據(jù)技術(shù)及應用-基于Python語言 思考題參考答案 嚴宣輝 第1-4章 初識大數(shù)據(jù)-大數(shù)據(jù)存儲_第4頁
大數(shù)據(jù)技術(shù)及應用-基于Python語言 思考題參考答案 嚴宣輝 第1-4章 初識大數(shù)據(jù)-大數(shù)據(jù)存儲_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第一章初識大數(shù)據(jù)1.什么是大數(shù)據(jù)?大數(shù)據(jù)的定義是什么?目前業(yè)界對大數(shù)據(jù)還沒有一個統(tǒng)一的定義。常見的研究機構(gòu)基于不同的角度給出如下定義。(1)大數(shù)據(jù)是指大小超出常規(guī)的數(shù)據(jù)庫工具獲取、存儲、管理和分析能力的數(shù)據(jù)集(并不是說一定要超過特定TB

級的數(shù)據(jù)集才算大數(shù)據(jù))?!溈襄a(2)大數(shù)據(jù)是指無法在一定時間內(nèi)用常規(guī)軟件工具對其內(nèi)容進行抓取、管理和處理的數(shù)據(jù)集?!S基百科(3)大數(shù)據(jù)是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化力的海量、高增長率和多樣化的信息資產(chǎn)。——Gartner(4)數(shù)據(jù)量大、獲取速度快或形態(tài)多樣的數(shù)據(jù),難以用傳統(tǒng)關(guān)系型數(shù)據(jù)分析方法進行有效分析,或者需要大規(guī)模的水平擴展才能高效處理?!绹鴩H標準技術(shù)研究院(NIST)(5)大數(shù)據(jù)一般會涉及兩種或兩種以上的數(shù)據(jù)形式,

它需要收集超過100TB(1TB=240B)的數(shù)據(jù),并且是高速實時流數(shù)據(jù);或者從小數(shù)據(jù)開始,但數(shù)據(jù)每年增長速率至少為60%?!獓H數(shù)據(jù)公司總的來說,大數(shù)據(jù)是指所涉及的數(shù)據(jù)規(guī)模巨大到無法通過人工或計算機,在可容忍的時間下使用常規(guī)軟件工具完成存儲、管理和處理任務,并解釋成人們所能解讀的形式的信息。2.大數(shù)據(jù)技術(shù)包括哪幾方面的內(nèi)容?請簡要回答。大數(shù)據(jù)技術(shù)可歸納為:大數(shù)據(jù)采集、大數(shù)據(jù)預處理、大數(shù)據(jù)存儲、大數(shù)據(jù)計算、大數(shù)據(jù)挖掘、大數(shù)據(jù)安全和大數(shù)據(jù)可視化。3.請舉一個大數(shù)據(jù)在生活中應用的例子,并簡要回答大數(shù)據(jù)技術(shù)是如何應用的。擁堵監(jiān)測。通過分析數(shù)據(jù),可以實時獲得用戶的連貫位置信息。通過對信息長時間的統(tǒng)計,分析常駐用戶和人車合并條件,挖掘道路中真正運行的用戶。經(jīng)過道路匹配、用戶匹配、車向判斷、車速計算、交通信息提取、道路交通狀態(tài)判斷等步驟,判斷道路是否擁堵。在這個例子中,大數(shù)據(jù)技術(shù)是這樣應用的:(1)大數(shù)據(jù)采集:通過采集用戶的連貫位置信息,獲取道路上的交通狀況數(shù)據(jù)。(2)大數(shù)據(jù)預處理:對采集到的數(shù)據(jù)進行清洗和去重,同時對數(shù)據(jù)進行格式化處理和規(guī)范化處理。(3)大數(shù)據(jù)存儲:將預處理后的數(shù)據(jù)存儲到大數(shù)據(jù)存儲系統(tǒng)中,例如Hadoop、Cassandra等,以便進行后續(xù)處理和分析。(4)大數(shù)據(jù)計算:通過大數(shù)據(jù)計算技術(shù),例如MapReduce、Spark等,對存儲在大數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)進行處理和分析,例如道路匹配、用戶匹配、車向判斷、車速計算、交通信息提取等操作。(5)

大數(shù)據(jù)挖掘:利用大數(shù)據(jù)挖掘技術(shù),例如數(shù)據(jù)聚類、關(guān)聯(lián)規(guī)則挖掘等,對處理后的數(shù)據(jù)進行挖掘和分析,以提取有價值的交通信息。(6)

大數(shù)據(jù)可視化:將挖掘出的交通信息進行可視化展示,例如通過地圖顯示交通擁堵情況等,以便用戶和交通管理部門實時了解交通狀況。(7)大數(shù)據(jù)安全:對采集到的用戶位置信息和交通信息進行加密和安全處理,以確保用戶數(shù)據(jù)的隱私和安全。4.試述大數(shù)據(jù)的基本特征。大數(shù)據(jù)具有巨量性(Volume)、多樣性(Variety)、高速性(Velocity)、準確性(Veracity)、高價值和低價值密度(Value)的特征。具體的:(1)Volume(巨量性):數(shù)據(jù)量巨大。這是大數(shù)據(jù)的顯著特征,數(shù)據(jù)集合的規(guī)模不斷擴大,已從

GB

級到

TB

級再到

PB

級,甚至已經(jīng)到了

EB

級和

ZB

級。(2)Variety(多樣性):數(shù)據(jù)類型復雜多樣。以往產(chǎn)生或者處理的數(shù)據(jù)類型較為單一,大部分是結(jié)構(gòu)化數(shù)據(jù),如傳統(tǒng)文本類和數(shù)據(jù)庫數(shù)據(jù)。如今,數(shù)據(jù)類型不僅包括結(jié)構(gòu)化數(shù)據(jù),還包括大量半結(jié)構(gòu)化或者非結(jié)構(gòu)化數(shù)據(jù),如

XML、郵件、博客、即時消息。此外,企業(yè)需要整合分析來自復雜的傳統(tǒng)和非傳統(tǒng)信息源的數(shù)據(jù),包括企業(yè)內(nèi)部和外部的數(shù)據(jù)。(3)Velocity(高速性):數(shù)據(jù)具有高速性。數(shù)據(jù)產(chǎn)生、處理和分析的速度持續(xù)提高,數(shù)據(jù)流量大。速度提高的原因是數(shù)據(jù)創(chuàng)建的實時性及需要將流數(shù)據(jù)結(jié)合到業(yè)務流程和決策過程中。(4)Veracity(準確性):數(shù)據(jù)具有準確性。該特征體現(xiàn)了大數(shù)據(jù)的數(shù)據(jù)質(zhì)量。較為典型的應用是網(wǎng)絡垃圾郵件,它們給社交網(wǎng)絡帶來了嚴重的困擾。據(jù)統(tǒng)計,網(wǎng)絡垃圾占萬維網(wǎng)所有內(nèi)容的20%以上。(5)Value(高價值,低價值密度):數(shù)據(jù)具有潛在價值。大數(shù)據(jù)由于數(shù)據(jù)量不斷增大,單位數(shù)據(jù)的價值密度不斷降低,而數(shù)據(jù)的整體價值不斷提高。有人甚至將大數(shù)據(jù)等同于黃金和石油,表示大數(shù)據(jù)中蘊含了無限的商業(yè)價值。5.大數(shù)據(jù)處理的數(shù)據(jù)類型有哪些?大數(shù)據(jù)處理的數(shù)據(jù)類型包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。這些類型的數(shù)據(jù)都可以被大數(shù)據(jù)技術(shù)處理。其中,結(jié)構(gòu)化數(shù)據(jù)是指數(shù)據(jù)庫,也稱作行數(shù)據(jù),是由二維表形式來邏輯表達和實現(xiàn)的數(shù)據(jù)。半結(jié)構(gòu)化數(shù)據(jù)具有一定的結(jié)構(gòu)性,且和具有嚴格理論模型的關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)相比更靈活。非結(jié)構(gòu)化數(shù)據(jù)是與結(jié)構(gòu)化數(shù)據(jù)相對的,它不適合用二維表形式表示,包括所有格式的辦公文檔、圖片和音頻、視頻信息等。6.簡要回答大數(shù)據(jù)的出現(xiàn)為人們生活帶來了哪些重要改變。大數(shù)據(jù)的出現(xiàn)為人們生活帶來了許多重要改變。例如,大數(shù)據(jù)能夠支持政務活動,如奧巴馬競選中的民意預測采用大數(shù)據(jù)存儲和分析選民資料、籌集資金、投放廣告等;然后,大數(shù)據(jù)可以提高社會服務能力,如洛杉磯的智能交通

ATSAC,采用感應器收集車速、流量等信息,進行實時處理。此外,大數(shù)據(jù)可以提高商業(yè)決策水平。例如,USXpress

的物流運輸使用大數(shù)據(jù)分析車輛狀況,對車輛人員進行合理調(diào)度。總之,大數(shù)據(jù)的出現(xiàn)為人們生活帶來了許多重要改變。它能夠支持政務活動,提高社會服務能力,并提高商業(yè)決策水平。這些只是大數(shù)據(jù)改變我們生活的幾個例子。7.大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)三者之間有什么聯(lián)系?又有哪些不同?大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)三者之間有著緊密的聯(lián)系。物聯(lián)網(wǎng)通過連接各種設備和傳感器,產(chǎn)生了大量的數(shù)據(jù)。這些數(shù)據(jù)需要存儲和分析,而云計算提供了一個可擴展、彈性和經(jīng)濟高效的方式來存儲和處理這些數(shù)據(jù)。大數(shù)據(jù)技術(shù)則用于分析這些海量數(shù)據(jù),從中提取有價值的信息。但它們也有著明顯的不同:物聯(lián)網(wǎng)(IoT)是指通過互聯(lián)網(wǎng)連接的設備或?qū)ο蟮募?,它們通過互聯(lián)網(wǎng)發(fā)送和收集數(shù)據(jù),幫助設備做出決策并記住特定的模式和例程。物聯(lián)網(wǎng)的目的是通過連接設備來提高效率、安全性和便利性。云計算是一種計算模型,它允許用戶通過網(wǎng)絡訪問共享的計算資源,如服務器、存儲和應用程序。云計算提供了一個集中的系統(tǒng)來幫助傳輸數(shù)據(jù)和各種文件到數(shù)據(jù)中心,不同的數(shù)據(jù)和程序可以從集中的云系統(tǒng)輕松訪問。大數(shù)據(jù)是指結(jié)構(gòu)化和非結(jié)構(gòu)化大量數(shù)據(jù)的分析過程,以獲得對不同業(yè)務模式的洞察力。大數(shù)據(jù)指的是數(shù)據(jù)太龐大或復雜,無法使用通常方法處理??傊?,物聯(lián)網(wǎng)、云計算和大數(shù)據(jù)三者之間有著密切的聯(lián)系,但它們也有著明顯的不同。物聯(lián)網(wǎng)是數(shù)據(jù)來源,大數(shù)據(jù)是數(shù)據(jù)分析平臺,云計算是存儲、擴展和快速訪問的位置。8.對大數(shù)據(jù)未來的發(fā)展趨勢,簡要說說自己的看法。大數(shù)據(jù)技術(shù)的發(fā)展將繼續(xù)推動各行各業(yè)的數(shù)字化轉(zhuǎn)型。隨著人工智能、云計算、物聯(lián)網(wǎng)和區(qū)塊鏈等技術(shù)的不斷發(fā)展,大數(shù)據(jù)將在這些領域發(fā)揮更大的作用。同時,隨著數(shù)據(jù)量的不斷增長,數(shù)據(jù)治理也將成為重要的議題。此外,大數(shù)據(jù)人才的培養(yǎng)和引進也將成為關(guān)鍵因素,以支持大數(shù)據(jù)行業(yè)的發(fā)展。第二章大數(shù)據(jù)采集

1.大數(shù)據(jù)與傳統(tǒng)數(shù)據(jù)主要有哪些區(qū)別?

大數(shù)據(jù)和傳統(tǒng)數(shù)據(jù)的主要區(qū)別包括以下幾個方面:(1)數(shù)據(jù)規(guī)模:傳統(tǒng)數(shù)據(jù)規(guī)模小,以

MB、GB

為單位;而大數(shù)據(jù)規(guī)模大,以

TB、PB

為單位。(2)生成速度:大數(shù)據(jù)的生成速度遠快于傳統(tǒng)數(shù)據(jù)。(3)數(shù)據(jù)源:傳統(tǒng)數(shù)據(jù)數(shù)據(jù)源集中,大數(shù)據(jù)數(shù)據(jù)源分散。(4)數(shù)據(jù)類型:傳統(tǒng)數(shù)據(jù)通常是單一的結(jié)構(gòu)化數(shù)據(jù),而大數(shù)據(jù)則包結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化等多源異構(gòu)數(shù)據(jù)。(5)數(shù)據(jù)存儲:傳統(tǒng)數(shù)據(jù)通常存儲在關(guān)系型數(shù)據(jù)管理系統(tǒng)(RDBMS)中,而大數(shù)據(jù)存儲在非關(guān)系型數(shù)據(jù)庫(NoSQL)、分布式存儲系統(tǒng)(Hadoop

分布式文件系統(tǒng))中。(6)處理工具:傳統(tǒng)數(shù)據(jù)只有一種或少數(shù)幾種處理工具,而大數(shù)據(jù)不存在單一的全處理工具。2.互聯(lián)網(wǎng)的數(shù)據(jù)來源有哪些?主要特點是什么?

(1)互聯(lián)網(wǎng)數(shù)據(jù)主要源于各種網(wǎng)絡和社交媒體的半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),包括

Web

文本、單擊流數(shù)據(jù)、GPS

和地理定位映射數(shù)據(jù),通過管理文件傳輸協(xié)議傳送的海量圖像文件、評價數(shù)據(jù)、科學信息、電子郵件等。具體分為以下幾個方面:①網(wǎng)站和應用程序:互聯(lián)網(wǎng)上的各種網(wǎng)站和應用程序都會產(chǎn)生大量的數(shù)據(jù),如社交媒體、電子商務、搜索引擎等。②傳感器和設備:隨著物聯(lián)網(wǎng)的發(fā)展,越來越多的傳感器和設備連接到互聯(lián)網(wǎng)上,產(chǎn)生各種類型的數(shù)據(jù),如氣象數(shù)據(jù)、交通數(shù)據(jù)、智能家居數(shù)據(jù)等。③開放數(shù)據(jù):許多政府機構(gòu)、科研機構(gòu)和組織發(fā)布各種類型的開放數(shù)據(jù),如人口普查數(shù)據(jù)、地理信息數(shù)據(jù)、科學研究數(shù)據(jù)等。④用戶生成內(nèi)容:互聯(lián)網(wǎng)上的用戶生成內(nèi)容包括文本、圖像、視頻、音頻等,這些內(nèi)容可以通過社交媒體、博客、論壇等進行分享和發(fā)布。(2)互聯(lián)網(wǎng)數(shù)據(jù)的主要特點包括以下幾個方面:①多樣性:互聯(lián)網(wǎng)數(shù)據(jù)來源多樣化,包括結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),如文本、圖像、音頻、視頻等。②高速度:互聯(lián)網(wǎng)數(shù)據(jù)增長速度非??欤枰焖?、實時地處理和分析。③高容量:互聯(lián)網(wǎng)數(shù)據(jù)量非常大,需要使用大規(guī)模的存儲和處理技術(shù)來管理和分析。④不確定性:互聯(lián)網(wǎng)數(shù)據(jù)的來源和質(zhì)量不確定,需要進行數(shù)據(jù)清洗和預處理來提高數(shù)據(jù)質(zhì)量。⑤價值潛力:互聯(lián)網(wǎng)數(shù)據(jù)包含大量有價值的信息和洞見,可以用于商業(yè)、科學、醫(yī)療等領域的決策和發(fā)展。3.簡述

Kafka

數(shù)據(jù)采集架構(gòu)。

Kafka

是一個分布式消息系統(tǒng),它具有高性能、持久化、多副本、橫向擴展的特點。Kafka的主要功能是構(gòu)建可靠的、用于傳輸實時數(shù)據(jù)的管道,以及構(gòu)建實時的流數(shù)據(jù)處理應用來變換或處理流數(shù)據(jù)。Kafka

的基本架構(gòu)由

Producer、Broker

Consumer

三層組成,其中

Producer

將消息發(fā)布到

Kafka

集群,Broker

負責保存和管理消息,而

Consumer

訂閱特定

Topic

的消息并處理它們。整個過程中,Topic

作為消息分類的邏輯概念,使得

Producer

發(fā)送的消息可以被正確地分發(fā)和消費。4.主題可以分很多區(qū),這些區(qū)有什么作用?

對于每個Topic,Kafka

集群都會維持一個分區(qū)(Partition)日志。Partition

的主要作用包括:(1)擴展數(shù)據(jù)容量:當單個

Topic

的數(shù)據(jù)容量超出單個

Broker

的存儲能力時,可以通過分散到多個

Partition

上來擴展存儲容量。(2)分布式處理:Partition

可以將數(shù)據(jù)分散到多個

Broker

上進行處理,提高整個系統(tǒng)的并發(fā)處理能力。5.在

Kafka

架構(gòu)中,ZooKeeper

如何實現(xiàn)數(shù)據(jù)管理?ZooKeeper

Kafka

集群中扮演著重要的角色,通過管理元數(shù)據(jù)和集群成員關(guān)系,確保了

Kafka

集群的高可用性、高性能和可伸縮性。(1)ZooKeeper

Kafka

集群的元數(shù)據(jù)存儲在其自己的數(shù)據(jù)節(jié)點中。例如,ZooKeeper

將每個

Broker

的信息存儲在一個特定的節(jié)點上,這個節(jié)點的路徑由固定的前綴和

Broker

ID

組成。每個

Topic

的信息也存儲在特定的節(jié)點上,節(jié)點路徑由固定的前綴和

Topic

名稱組成。同樣,每個

Partition

的信息也存儲在一個特定的節(jié)點上,路徑由固定的前綴、Topic

名稱和

Partition

ID

組成。(2)當

Producer

Consumer

啟動時,它們將向

ZooKeeper

發(fā)送請求,查詢特定

Topic

的元數(shù)據(jù),例如分區(qū)數(shù)、分區(qū)在哪些

Broker

上,以及每個分區(qū)的

Leader

Follower。這些元數(shù)據(jù)信息將由

ZooKeeper

返回,并緩存在

Producer

Consumer

的內(nèi)存中。(3)當某個

Broker

加入或退出

Kafka

集群時,它將向

ZooKeeper

發(fā)送請求,將自己的信息注冊或注銷。ZooKeeper

將相應的節(jié)點添加或刪除,并通知集群中的其他

Broker

進行更新。(4)當某個

Broker

失效時,其他

Broker

會通過

ZooKeeper

感知到該事件,ZooKeeper

將刪除該

Broker

對應的節(jié)點,同時通知集群中的其他

Broker

進行更新。6.什么是網(wǎng)絡爬蟲?常用網(wǎng)絡爬蟲的抓取策略、更新策略及分析算法有哪些?(1)網(wǎng)絡爬蟲(又稱為網(wǎng)頁蜘蛛、網(wǎng)絡機器人)是一種自動抓取

Web

信息的應用程序或腳本。它按照一定的規(guī)則和策略,在互聯(lián)網(wǎng)上自動地爬行和抓取網(wǎng)頁,并將抓取到的數(shù)據(jù)存儲到本地或遠程服務器中,以供進一步的處理和分析。網(wǎng)絡爬蟲通常用于搜索引擎、資訊采集、輿情監(jiān)測、數(shù)據(jù)挖掘、網(wǎng)站性能測試等領域。(2)抓取策略:①深度優(yōu)先策略是指按照深度由低到高的順序依次訪問下一級網(wǎng)頁鏈接,直到不能再深入為止。②廣度優(yōu)先策略是指按照廣度優(yōu)先的搜索思想,逐層抓取待抓取

URL

隊列中的每個

URL

的內(nèi)容,并將每一層

URL

納入已抓取

URL

隊列中。③局部

PageRank

策略是指借鑒

PageRank

的思想,按照一定的網(wǎng)頁分析算法,預測候

URL

與目標網(wǎng)頁的相似度或與主題的相關(guān)性,并選取評價最好的一個或幾個

URL

進行抓

取,即對已經(jīng)下載的網(wǎng)頁,連同待抓取

URL

隊列中的

URL

形成網(wǎng)頁集合,計算每個網(wǎng)頁的

PageRank

值,計算完之后,將待抓取

URL

隊列中的

URL

按照

PageRank

值的大小排序,并按照該順序抓取網(wǎng)頁。④OPIC

策略,即對網(wǎng)頁進行一個重要性打分。⑤大站優(yōu)先策略,指對于待抓取

URL

隊列中的所有網(wǎng)頁,根據(jù)所屬的網(wǎng)站進行分類。

對于待下載網(wǎng)頁量大的網(wǎng)站,優(yōu)先下載。⑥反向鏈接數(shù)策略,使用反向鏈接數(shù)即一個網(wǎng)頁被其他網(wǎng)頁鏈接指向的數(shù)量來評價網(wǎng)頁的重要程度,從而決定不同網(wǎng)頁的抓取順序。

⑦最佳優(yōu)先搜索策略是指通過計算

URL

描述文本與目標網(wǎng)頁的相似度或者與主題的相關(guān)性,根據(jù)所設定的閾值選出有效

URL

進行抓取。(3)更新策略

:常見的網(wǎng)頁更新策略包括用戶體驗策略、歷史數(shù)據(jù)策略及聚類分析策略。

①用戶體驗策略。在搜索引擎查詢某個關(guān)鍵詞時,通常會搜索大量的網(wǎng)頁,并且這些網(wǎng)頁會按照一定的規(guī)則進行排序,但是,大部分用戶都只會關(guān)注排序靠前的網(wǎng)頁,所以,在爬蟲服務器資源有限的情況下,爬蟲會優(yōu)先更新排名結(jié)果靠前的網(wǎng)頁。②歷史數(shù)據(jù)策略。依據(jù)某一個網(wǎng)頁的歷史數(shù)據(jù),通過泊松分布進行建模等手段,預測該網(wǎng)頁下一次更新的時間,從而確定下一次對該網(wǎng)頁的爬取時間。③聚類分析策略。該策略是將聚類算法運用于爬蟲對網(wǎng)頁更新的一種策略,其基本原理是先將海量網(wǎng)頁進行聚類分析(按照相似性進行分類),一般來說,相似網(wǎng)頁的更新頻率類似。聚類之后,這些海量網(wǎng)頁會被分為多個簇,每個簇中的網(wǎng)頁具有類似的屬性,即每個簇中的網(wǎng)頁具有類似的更新頻率。然后,對聚類結(jié)果的每個簇中的網(wǎng)頁進行抽樣,并計算出抽樣網(wǎng)頁的平均更新頻率,從而確定每個聚類網(wǎng)頁的爬蟲頻率。(4)分析算法:常用的網(wǎng)頁分析算法包括基于用戶行為的網(wǎng)頁分析算法、基于網(wǎng)絡拓撲的網(wǎng)頁分析算法及基于網(wǎng)頁內(nèi)容的網(wǎng)頁分析算法。

①基于用戶行為的網(wǎng)頁分析算法會依據(jù)用戶對這些網(wǎng)頁的訪問行為,對這些網(wǎng)頁進行評價。用戶的訪問行為包括用戶對網(wǎng)頁的訪問頻率、用戶對網(wǎng)頁的訪問時長、用戶的點擊率等信息。

②基于網(wǎng)絡拓撲的網(wǎng)頁分析算法是根據(jù)網(wǎng)頁的鏈接關(guān)系、結(jié)構(gòu)關(guān)系、已知網(wǎng)頁或數(shù)據(jù)等對網(wǎng)頁進行分析的一種算法。常見的基于網(wǎng)絡拓撲的網(wǎng)頁分析算法包括基于網(wǎng)頁粒度的分析算法、基于網(wǎng)站粒度的分析算法和基于網(wǎng)頁塊粒度的分析算法。

③PageRank

算法和

HITS

算法是最常見的基于網(wǎng)頁粒度的分析算法。7.什么是聚焦網(wǎng)絡爬蟲?聚焦網(wǎng)絡爬蟲也叫主題網(wǎng)絡爬蟲,聚焦網(wǎng)絡爬蟲是按照預先定義好的主題有選擇地進行網(wǎng)頁爬蟲的一種爬蟲方法。聚焦網(wǎng)絡爬蟲不像通用網(wǎng)絡爬蟲一樣將目標資源定位在全互聯(lián)網(wǎng)中,而是將爬取的目標網(wǎng)頁定位在與主題相關(guān)的網(wǎng)頁中,這樣可以大大節(jié)省爬蟲時所需的帶寬資源和服務器資源。8.中文分詞算法包括哪些?

現(xiàn)有的中文分詞算法可分為基于字符串匹配的分詞算法、基于理解的分詞算法和基于統(tǒng)計的分詞算法。

(1)基于字符串匹配的分詞算法

基于字符串匹配的分詞算法又稱機械分詞算法,它是按照一定的策略將待分詞文本與一個“充分大的”機器詞典中的詞條進行匹配,若在機器詞典中找到某個字符串,則匹配成功(識別出一個分詞)。

(2)基于理解的分詞算法

基于理解的分詞算法即人工智能算法。該算法是通過讓計算機模擬人對句子的理解達到分詞效果的。其基本思想是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。(3)基于統(tǒng)計的分詞算法

基于統(tǒng)計的分詞算法是在給定大量已經(jīng)分詞文本的前提下,利用統(tǒng)計原理、機器學習模型來學習文本切分的規(guī)律(稱為訓練),從而實現(xiàn)對未知文本的切分,如最大概率分詞算法和最大熵分詞算法等。9.使用聚焦網(wǎng)絡爬蟲爬取北上廣等地近兩年的空氣質(zhì)量數(shù)據(jù)。

#

頁面過濾條件:北上廣等地+近兩年import

timeimport

requestsfrom

bs4

import

BeautifulSoup#

定義要爬取的城市列表city_list

=

["beijing",

"shanghai",

"guangzhou"]#

定義要爬取的時間列表time_list

=

["2021",

"2022"]#

初始URLurl1='/aqi/'#

定義URL列表url_list

=

[]#防反爬,模仿瀏覽器發(fā)送信息headers

=

{

'User-Agent'

:

'Mozilla/5.0

(Windows

NT

10.0;

Win64;

x64)

AppleWebKit/537.36

(KHTML,

like

Gecko)

Chrome/

Safari/537.36'}for

t

in

time_list:

for

k

in

city_list:

for

i

in

range(1,

13):

time.sleep(0.5)

#

把1轉(zhuǎn)換為01

url

=

url1

+

k

+

'-'

+

t

+

str("%02d"

%

i)

+

'.html'

print(url)

response

=

requests.get(url=url,

headers=headers)

soup

=

BeautifulSoup(response.text,

'html.parser')

tr

=

soup.find_all('tr')

#

去除標簽欄

for

j

in

tr[1:]:

td

=

j.find_all('td')

Date

=

td[0].get_text().strip()

Quality_grade

=

td[1].get_text().strip()

AQI

=

td[2].get_text().strip()

AQI_rank

=

td[3].get_text().strip()

PM

=

td[4].get_text()

name

=

'air_'

+

k

+

'_'+

t

+'.csv'

with

open(name,

'a+',

encoding='utf-8-sig')

as

f:

f.write(Date

+

','

+

Quality_grade

+

','

+

AQI

+

','

+

AQI_rank

+

','

+

PM

+

'\n')

url_list.append(url)#已爬取URL存放到URL列表10.采用

MMSEG

分詞算法對“本科畢業(yè)設計模板”進行分詞處理。#

定義待分詞文本和詞典text

=

"本科畢業(yè)設計模板"word_dict

=

["本科",

"畢業(yè)",

"設計",

"模板",

"本",

"科畢",

"畢業(yè)設計",

"設計模板"]#

定義最大匹配算法函數(shù)def

cmm(text,

word_dict):

result

=

[]

while

text:

#

設置匹配的最大長度

max_length

=

min(len(text),

len(word_dict[-1]))

#

從最大長度開始向前匹配

for

i

in

range(max_length,

0,

-1):

if

text[:i]

in

word_dict:

result.append(text[:i])

text

=

text[i:]

break

else:

result.append(text[0])

text

=

text[1:]

return

result#

定義消歧規(guī)則函數(shù)def

rule_disambiguation(words):

#

1.

優(yōu)先選擇較長的詞

for

i

in

range(len(words)):

for

j

in

range(i+1,

len(words)):

if

len(words[i])

<

len(words[j]):

words[i],

words[j]

=

words[j],

words[i]

#

2.

如果兩個詞長度相同,則選擇詞頻較高的詞

freq_dict

=

{word:

word_dict.count(word)

for

word

in

words}

sorted_words

=

sorted(freq_dict.items(),

key=lambda

x:

x[1],

reverse=True)

words

=

[word[0]

for

word

in

sorted_words]

#

3.

如果兩個詞長度和詞頻都相同,則選擇分詞結(jié)果中首個詞

return

words#

對文本進行分詞result

=

cmm(text,

word_dict)result

=

rule_disambiguation(result)#

輸出分詞結(jié)果print(result)分詞處理結(jié)果為:本科|

畢業(yè)設計

|

模板第三章大數(shù)據(jù)預處理1.數(shù)據(jù)清洗的主要任務是什么?常用的數(shù)據(jù)清洗包括哪些技術(shù)?

數(shù)據(jù)清洗的主要任務:糾正錯誤、標準化數(shù)據(jù)格式、清除異常和重復數(shù)據(jù)。常用的技術(shù)有:填充缺失值(忽略元組、人工填寫、全局常量填充、中心度量填充等)光滑噪聲數(shù)據(jù)(分箱、回歸、孤立點分析)識別和刪除離群點

糾正數(shù)據(jù)不一致2.數(shù)據(jù)集成需要考慮的問題包括哪些?

在數(shù)據(jù)集成過程中,模式識別、對象匹配、冗余問題、元組重復及數(shù)據(jù)值沖突的檢測與處理都是需要重點考慮的問題。3.數(shù)據(jù)規(guī)約的目的是什么?常用的規(guī)約技術(shù)包括哪些?

數(shù)據(jù)規(guī)約的目的:在海量數(shù)據(jù)上進行數(shù)據(jù)分析和數(shù)據(jù)挖掘成本很高,而數(shù)據(jù)規(guī)約可以用來得到數(shù)據(jù)集的規(guī)約表示,使得數(shù)據(jù)集變小,但同時保持仍然近于原數(shù)據(jù)的完整性。常用的規(guī)約技術(shù)有:維規(guī)約(減少所考慮的隨機變量或者屬性的個數(shù)):離散小波變換和主成分分析方法數(shù)量規(guī)約(用較小的數(shù)據(jù)集替換原數(shù)據(jù)集):參數(shù)方法和非參數(shù)方法數(shù)據(jù)壓縮(通過數(shù)據(jù)轉(zhuǎn)換,得到原數(shù)據(jù)的壓縮表示):無損方法和有損方法4.數(shù)據(jù)轉(zhuǎn)換的主要任務是什么?常用的數(shù)據(jù)轉(zhuǎn)換包括哪些技術(shù)?

數(shù)據(jù)轉(zhuǎn)換的主要任務:是將數(shù)據(jù)進行轉(zhuǎn)換或統(tǒng)一成適合數(shù)據(jù)挖掘的形式。技術(shù):光滑數(shù)據(jù)、數(shù)據(jù)聚集、屬性構(gòu)造、數(shù)據(jù)規(guī)范化、數(shù)據(jù)離散化及數(shù)據(jù)泛化。

5.簡述實現(xiàn)兩種數(shù)據(jù)規(guī)范化的算法。

①最小-最大規(guī)范化給定是數(shù)值屬性,具有個觀測值、、...、,假設和分別為屬性的最小值和最大值。最小-最大規(guī)范化計算公式如下。②分數(shù)()規(guī)范化

分數(shù)規(guī)范化(又稱零均值規(guī)范化)是基于屬性的均值和標準差的規(guī)范化。屬性的值被規(guī)范化為的計算公式如下。式中,和分別為屬性的均值和標準差,,。

6.簡述實現(xiàn)一種數(shù)據(jù)缺失值填充的算法。使用屬性的中心度量(如均值或中位數(shù))填充缺失值。根據(jù)數(shù)據(jù)分布的特點,如果數(shù)據(jù)分布是對稱的,那么可以使用屬性均值來填充缺失值;如果數(shù)據(jù)分布是傾斜的,那么可以使用屬性中位數(shù)來填充缺失值。這種方法的本質(zhì)是利用已存數(shù)據(jù)的信息來推測缺失值,并用推測值來實現(xiàn)填充。第四章大數(shù)據(jù)存儲1.簡試述分布式文件系統(tǒng)設計的需求

(1)透明性。具備訪問透明性、位置透明性、性能透明性和伸縮透明性。(2)并發(fā)控制。客戶端對于文件的讀/寫不應該影響其他客戶端對同一文件的讀/寫。(3)文件復制。一個文件可以擁有在不同位置的多個副本。(4)硬件和操作系統(tǒng)的異構(gòu)性:可以在不同的操作系統(tǒng)和計算機上實現(xiàn)同樣的客戶端和服務器端程序。(5)可伸縮性。支持節(jié)點的動態(tài)加入或退出。(6)容錯性。保證文件服務在客戶端或者服務端出現(xiàn)問題時能正常使用。安全性。保障系統(tǒng)的安全性。2.試述

HDFS

中的塊和普通文件系統(tǒng)中的塊的區(qū)別。HDFS

在文件塊大小的設置上要遠遠大于普通文件系統(tǒng),以使其在處理大規(guī)模文件時能夠獲得更好的性能。HDFS

默認一個塊的大小是

64MB。在

HDFS

中的文件會被拆分成多個塊,每個塊作為獨立的單元進行存儲。人們所熟悉的普通文件系統(tǒng)的塊一般只有幾千字節(jié),HDFS

在塊的大小設置上明顯要大于普通文件系統(tǒng)。HDFS

尋址開銷不僅包括磁盤尋道開銷,還包括文件塊的定位開銷3.試述

HDFS

的冗余數(shù)據(jù)保存策略。每個數(shù)據(jù)節(jié)點會定期向名稱節(jié)點發(fā)送心跳信息,向名稱節(jié)點報告自己的狀態(tài)。當數(shù)據(jù)節(jié)點發(fā)生故障,或者斷網(wǎng)時,名稱節(jié)點就無法收到來自一些數(shù)據(jù)節(jié)點的心跳信息,此時這些數(shù)據(jù)節(jié)點就會被標記為“宕機”,節(jié)點上面的所有數(shù)據(jù)都會被標記為“不可讀”,名稱節(jié)點不會再給它們發(fā)送任何

I/O

請求。這時,有可能出現(xiàn)一種情況,即由于一些數(shù)據(jù)節(jié)點的不可用,會導致一些文件塊的副本數(shù)量小于冗余因子。名稱節(jié)點會定期檢查這種情況,一旦發(fā)現(xiàn)某個文件塊的副本數(shù)量小于冗余因子,就會啟動數(shù)據(jù)冗余復制,為它生成新的副本。HDFS

與其他分布式文件系統(tǒng)的最大區(qū)別就是可以調(diào)整冗余數(shù)據(jù)的位置。4.請闡述

HBase

和傳統(tǒng)關(guān)系型數(shù)據(jù)庫的區(qū)別。

(1)數(shù)據(jù)類型。關(guān)系型數(shù)據(jù)庫采用關(guān)系模型,具有豐富的數(shù)據(jù)類型和存儲方式。HBase則采用了更加簡單的數(shù)據(jù)模型,它把數(shù)據(jù)存儲為未經(jīng)解釋的字符串,用戶可以把不同格式的結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)都序列化成字符串保存到

HBase

中,用戶需要自己編寫程序把字符串解析成不同的數(shù)據(jù)類型。(2)數(shù)據(jù)操作。關(guān)系型數(shù)據(jù)庫中包含了豐富的操作,如插入、刪除、更新、查詢等,其中會涉及復雜的多表連接,通常是借助于多個表之間的主外鍵關(guān)聯(lián)來實現(xiàn)的。HBase

操作則不存在復雜的表與表之間的關(guān)系,只有簡單的插入、查詢、刪除、清空等,因為

HBase

在設計上避免了復雜的表與表之間的關(guān)系,通常只采用單表的主鍵查詢,所以它無法實現(xiàn)像關(guān)系型數(shù)據(jù)庫中那樣的表與表之間的連接操作。(3)存儲模式。關(guān)系型數(shù)據(jù)庫是基于行存儲的,元組或行會被連續(xù)地存儲在磁盤頁中。在讀取數(shù)據(jù)時,需要先順序掃描每個元組,然后從中篩選出查詢所需要的屬性。如果每個元組只有少量屬性的值對于查詢是有用的,那么基于行存儲就會浪費許多磁盤空間和內(nèi)存帶寬。HBase

是基于列存儲的,每個列族(Column

Family)都由幾個文件保存,不同列族的文件是分離的,它的優(yōu)點是:可以降低

I/O

開銷,支持大量并發(fā)用戶查詢,因為僅需要處理可以回答這些查詢的列,而不需要處理與查詢無關(guān)的大量數(shù)據(jù)行;同一個列族中的數(shù)據(jù)會被一起進行壓縮,由于同一列族內(nèi)的數(shù)據(jù)相似度較高,因此可以獲得較高的數(shù)據(jù)壓縮比。(4)數(shù)據(jù)索引。關(guān)系型數(shù)據(jù)庫通常可以針對不同列構(gòu)建復雜的多個索引,以提高數(shù)據(jù)訪問性能。與關(guān)系型數(shù)據(jù)庫不同的是,HBase

只有一個索引——行鍵(Row

Key),通過巧妙的設計,HBase

中的所有訪問方法為通過行鍵訪問或者通過行鍵掃描,從而使得整個系統(tǒng)不會慢下來。由于

HBase

位于

Hadoop

框架之上,因此可以使用

Hadoop

MapReduce

來快速、高效地生成索引表。(5)數(shù)據(jù)維護。在關(guān)系型數(shù)據(jù)庫中,更新操作會用當前值去替換記錄中原來的舊值,舊值被覆蓋后就不會存在。而在

HBase

中執(zhí)行更新操作時,并不會刪除數(shù)據(jù)舊的版本,而是生成一個新的版本,舊的版本仍然保留。(6)可伸縮性。關(guān)系型數(shù)據(jù)庫很難實現(xiàn)橫向擴展,縱向擴展的空間也比較有限。相反,HBase

BigTable

這些分布式數(shù)據(jù)庫就是為了實現(xiàn)靈活的水平擴展而開發(fā)的,因此能夠輕易地通過在集群中增加或者減少硬件數(shù)量來實現(xiàn)性能的伸縮。

5.請闡述

HBase

的數(shù)據(jù)分區(qū)機制。

在一個

HBase

中,存儲了許多表。對于

HBase

中的每個表而言,表中的行是根據(jù)行鍵值的字典序進行維護的,表中包含的行數(shù)量可能非常龐大,無法存儲在一臺機器上,需要分布存儲到多臺機器上。因此,需要根據(jù)行鍵值對表中的行進行分區(qū),每個行區(qū)間構(gòu)成一個Region。Region

包含了位于某個值域區(qū)間內(nèi)的所有數(shù)據(jù),它是負載均衡和數(shù)據(jù)分發(fā)的基本單位。這些

Region

會被分發(fā)到不同的

Region

服務器上。HBase

中的表被劃分成多個

Region,如圖

4.14

所示。初始時,每個表只包含一個

Region,隨著數(shù)據(jù)的不斷插入

Region

的大小會持續(xù)增大,當一個

Region

中包含的行數(shù)量達到一個閾值時就會被自動等分成兩個新的Regi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論