Spark大數(shù)據(jù)分析實(shí)務(wù) 課件全套 張良均 項(xiàng)目1-8 廣告流量檢測(cè)違規(guī)識(shí)別需求分析- 基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)廣告流量檢測(cè)違規(guī)識(shí)別_第1頁(yè)
Spark大數(shù)據(jù)分析實(shí)務(wù) 課件全套 張良均 項(xiàng)目1-8 廣告流量檢測(cè)違規(guī)識(shí)別需求分析- 基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)廣告流量檢測(cè)違規(guī)識(shí)別_第2頁(yè)
Spark大數(shù)據(jù)分析實(shí)務(wù) 課件全套 張良均 項(xiàng)目1-8 廣告流量檢測(cè)違規(guī)識(shí)別需求分析- 基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)廣告流量檢測(cè)違規(guī)識(shí)別_第3頁(yè)
Spark大數(shù)據(jù)分析實(shí)務(wù) 課件全套 張良均 項(xiàng)目1-8 廣告流量檢測(cè)違規(guī)識(shí)別需求分析- 基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)廣告流量檢測(cè)違規(guī)識(shí)別_第4頁(yè)
Spark大數(shù)據(jù)分析實(shí)務(wù) 課件全套 張良均 項(xiàng)目1-8 廣告流量檢測(cè)違規(guī)識(shí)別需求分析- 基于TipDM大數(shù)據(jù)挖掘建模平臺(tái)實(shí)現(xiàn)廣告流量檢測(cè)違規(guī)識(shí)別_第5頁(yè)
已閱讀5頁(yè),還剩807頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

廣告流量檢測(cè)違規(guī)識(shí)別流程分析知識(shí)準(zhǔn)備教學(xué)目標(biāo)知識(shí)目標(biāo)了解大數(shù)據(jù)的概念和特征。了解廣告流量檢測(cè)違規(guī)識(shí)別項(xiàng)目的流程分析。了解常見的廣告流量違規(guī)方式。教學(xué)目標(biāo)技能目標(biāo)能夠根據(jù)項(xiàng)目目標(biāo)進(jìn)行流程分析。能夠根據(jù)業(yè)務(wù)需求設(shè)計(jì)項(xiàng)目總體流程。素質(zhì)目標(biāo)具有良好的信息素養(yǎng),能夠運(yùn)用正確的方法獲取信息進(jìn)行學(xué)習(xí)。具有良好的信息接收能力,能夠掌握新知識(shí)、新技能。具有數(shù)據(jù)安全意識(shí),能夠抵制不合法行為,保障多方的數(shù)據(jù)安全。思維導(dǎo)圖項(xiàng)目背景進(jìn)入新世紀(jì)以后,互聯(lián)網(wǎng)技術(shù)得到巨大的發(fā)展,信息的傳播途徑隨之豐富起來(lái)。今天,互聯(lián)網(wǎng)的信息流通量已經(jīng)遠(yuǎn)超過電視、廣播、報(bào)紙等傳統(tǒng)媒體。隨著互聯(lián)網(wǎng)使用人群基數(shù)不斷增大,使用網(wǎng)絡(luò)媒體對(duì)商品進(jìn)行廣告宣傳也被廣泛應(yīng)用。廣告主希望通過互聯(lián)網(wǎng)投放廣告,將商品信息傳達(dá)給目標(biāo)受眾,以此促進(jìn)銷售量,獲取更大利益。媒體網(wǎng)站希望通過提高網(wǎng)站訪問量,增加網(wǎng)站內(nèi)廣告的訪問次數(shù),產(chǎn)生更多流量數(shù)據(jù)。瀏覽量大的網(wǎng)站往往是廣告主的第一選擇,足夠的瀏覽量與點(diǎn)擊量將是對(duì)產(chǎn)品宣傳的最大保障。網(wǎng)站帶來(lái)大量訪問量的同時(shí),也對(duì)廣告主等價(jià)收取更高的廣告費(fèi)。項(xiàng)目背景根據(jù)秒針系統(tǒng)分布的《2022流量實(shí)效現(xiàn)狀及2023實(shí)操建議》中,2021年互聯(lián)網(wǎng)廣告異常流量占比10.1%,2022年互聯(lián)網(wǎng)廣告異常流量占比9.6%,相比2021年降低了0.5個(gè)百分點(diǎn),但中國(guó)互聯(lián)網(wǎng)廣告異常流量占比近1成,形勢(shì)依舊嚴(yán)峻。部分網(wǎng)站受利益的驅(qū)使,為吸引更多廣告主的注意,提高自己廣告位的價(jià)值,通過違規(guī)方式產(chǎn)生虛假流量,以牟取暴利。虛假流量的存在給廣告主帶來(lái)了嚴(yán)重的損失。面對(duì)虛假流量這種違規(guī)、不合法的行為,每個(gè)人都有責(zé)任敢于站出來(lái),勇敢地與這種不法行為作斗爭(zhēng),需要善于運(yùn)用法律武器來(lái)保護(hù)自己和他人,為實(shí)現(xiàn)全面依法治國(guó)貢獻(xiàn)自身力量。項(xiàng)目背景為減少投放廣告的客戶流失,廣告主不得不找第三方廣告數(shù)據(jù)監(jiān)測(cè)公司利用廣告監(jiān)測(cè)系統(tǒng)對(duì)廣告虛假投放、虛假流量進(jìn)行檢測(cè)和管理等必要措施。廣告數(shù)據(jù)監(jiān)測(cè)公司將根據(jù)廣告主需求,通過廣告流量檢測(cè)違規(guī)識(shí)別流程分析,實(shí)現(xiàn)廣告流量檢測(cè)識(shí)別流程的構(gòu)建,為后續(xù)互聯(lián)網(wǎng)虛假流量識(shí)別模型構(gòu)建作基礎(chǔ)準(zhǔn)備。項(xiàng)目目標(biāo)了解在互聯(lián)網(wǎng)中常見的廣告流量違規(guī)方式,結(jié)合廣告流量違規(guī)識(shí)別案例的目標(biāo)分析案例的需求,為后續(xù)廣告流量檢測(cè)違規(guī)識(shí)別案例的實(shí)現(xiàn)做好前期準(zhǔn)備。目標(biāo)分析了解正常的廣告投放環(huán)節(jié)。了解常見的廣告流量違規(guī)方式。識(shí)別虛假流量的常見維度。設(shè)計(jì)廣告流量違規(guī)識(shí)別案例的項(xiàng)目總流程。認(rèn)識(shí)大數(shù)據(jù)認(rèn)識(shí)大數(shù)據(jù)分析認(rèn)識(shí)大數(shù)據(jù)大數(shù)據(jù)(BigData)被認(rèn)為是繼人力、資本之后一種新的非物質(zhì)生產(chǎn)要素,蘊(yùn)含巨大價(jià)值,是不可或缺的戰(zhàn)略資源。各類基于大數(shù)據(jù)的應(yīng)用正日益對(duì)全球生產(chǎn)、流通、分配、消費(fèi)活動(dòng)以及社會(huì)生活方式產(chǎn)生重要影響。大數(shù)據(jù)的概念盡管“大數(shù)據(jù)”一詞早在20世紀(jì)80年代就已提出,并于2009年開始成為IT行業(yè)的流行詞匯,但作為一個(gè)較為抽象的概念,業(yè)界至今還沒有對(duì)“大數(shù)據(jù)”給出一個(gè)確切、統(tǒng)一的定義。目前,大數(shù)據(jù)的幾個(gè)較為典型的定義如下。網(wǎng)絡(luò)上普遍流行的大數(shù)據(jù)定義為:在合理的時(shí)間內(nèi),無(wú)法運(yùn)用傳統(tǒng)的數(shù)據(jù)庫(kù)管理工具或數(shù)據(jù)處理軟件,完成捕獲、管理和處理等功能的大型、復(fù)雜的數(shù)據(jù)集。麥肯錫公司對(duì)大數(shù)據(jù)的定義為:在一定時(shí)間內(nèi)無(wú)法用傳統(tǒng)數(shù)據(jù)庫(kù)軟件工具采集、存儲(chǔ)、管理和分析其內(nèi)容的數(shù)據(jù)集合。研究機(jī)構(gòu)Gartner認(rèn)為:大數(shù)據(jù)是指需要借助新的處理模式才能擁有更強(qiáng)的決策力、洞察力和流程優(yōu)化能力的,具有海量、多樣化和高增長(zhǎng)率等特點(diǎn)的信息資產(chǎn)。大數(shù)據(jù)的特征大數(shù)據(jù)在數(shù)據(jù)層次的特征是最先被整個(gè)大數(shù)據(jù)行業(yè)所認(rèn)識(shí)、定義的,其中最為經(jīng)典的是大數(shù)據(jù)的“4V”特征,即規(guī)模龐大(Volume)、種類繁多(Variety)、處理速度快(Velocity)、價(jià)值密度低(Value),如下圖。大數(shù)據(jù)的特征1.規(guī)模龐大一方面,由于互聯(lián)網(wǎng)的廣泛應(yīng)用,使用網(wǎng)絡(luò)的用戶、企業(yè)、機(jī)構(gòu)增多,數(shù)據(jù)獲取、分享變得相對(duì)容易,用戶可通過網(wǎng)絡(luò)非常方便地獲取數(shù)據(jù),也可通過有意地分享和無(wú)意地點(diǎn)擊、瀏覽即可快速地產(chǎn)生大量的數(shù)據(jù);另一方面,各種傳感器數(shù)據(jù)獲取能力的大幅度提高,使得人們獲取的數(shù)據(jù)越來(lái)越接近原始事物本身,描述同一事物的數(shù)據(jù)激增。數(shù)據(jù)規(guī)模如此龐大,必然對(duì)數(shù)據(jù)的獲取、傳輸、存儲(chǔ)、處理、分析等帶來(lái)挑戰(zhàn)。大數(shù)據(jù)的特征2.種類繁多數(shù)據(jù)種類繁多、復(fù)雜多變是大數(shù)據(jù)的重要特性。隨著傳感器種類的增多及智能設(shè)備、社交網(wǎng)絡(luò)等的流行,數(shù)據(jù)種類也變得更加復(fù)雜。數(shù)據(jù)的類型可以分為結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)3類。大數(shù)據(jù)的特征3.處理速度快在Web2.0時(shí)代下,人們從信息的被動(dòng)接收者變成信息的主動(dòng)創(chuàng)造者。數(shù)據(jù)從生成到消耗的時(shí)間窗口非常小,可用于生成決策的時(shí)間非常短。大數(shù)據(jù)對(duì)處理數(shù)據(jù)的響應(yīng)速度有更嚴(yán)格的要求,例如實(shí)時(shí)分析而非批量分析,數(shù)據(jù)輸入、處理與丟棄立刻見效,幾乎無(wú)延遲。數(shù)據(jù)的增長(zhǎng)速度和處理速度是大數(shù)據(jù)高速性的重要體現(xiàn)。大數(shù)據(jù)的特征4.價(jià)值密度低雖然大數(shù)據(jù)中有價(jià)值的數(shù)據(jù)所占比例很小,但是大數(shù)據(jù)背后潛藏的價(jià)值卻巨大。大數(shù)據(jù)實(shí)際的價(jià)值體現(xiàn)在從大量不相關(guān)的各種類型的數(shù)據(jù)中挖掘出對(duì)未來(lái)趨勢(shì)與模式預(yù)測(cè)分析有價(jià)值的數(shù)據(jù),并通過機(jī)器學(xué)習(xí)方法、數(shù)據(jù)挖掘方法進(jìn)行深度分析,以期創(chuàng)造更大的價(jià)值。認(rèn)識(shí)大數(shù)據(jù)認(rèn)識(shí)大數(shù)據(jù)分析認(rèn)識(shí)大數(shù)據(jù)分析大數(shù)據(jù)時(shí)代,一切皆被記錄,一切皆被數(shù)字化。整個(gè)人類社會(huì)的信息量急劇增長(zhǎng),個(gè)人可獲取的信息也呈指數(shù)增長(zhǎng)。大數(shù)據(jù)是數(shù)據(jù)化趨勢(shì)下的必然產(chǎn)物。大數(shù)據(jù)的真正魅力不在于數(shù)據(jù)有多大、多豐富,而在于通過對(duì)大數(shù)據(jù)分析挖掘其中的價(jià)值,從而幫助政府、企業(yè)和個(gè)人做出更明智的決策。大數(shù)據(jù)分析的概念大數(shù)據(jù)分析與挖掘是大數(shù)據(jù)技術(shù)產(chǎn)生及發(fā)展的最終目的,在數(shù)據(jù)采集、預(yù)處理和存儲(chǔ)的基礎(chǔ)上,通過收集、整理、加工和分析數(shù)據(jù),挖掘提煉出有價(jià)值信息的一個(gè)過程,期望為管理者或決策者提供相應(yīng)的輔助決策支持。廣義的大數(shù)據(jù)分析是指采用合適的統(tǒng)計(jì)方法對(duì)采集到的大量數(shù)據(jù)進(jìn)行匯總、分析,從看起來(lái)沒有規(guī)律的數(shù)據(jù)中找到隱藏的信息,探索事物內(nèi)部或?qū)ο笾g的因果關(guān)系、內(nèi)部聯(lián)系和業(yè)務(wù)規(guī)律,以幫助人們進(jìn)行判斷、決策,從而使存儲(chǔ)的數(shù)據(jù)資產(chǎn)發(fā)揮最大化的功能。廣義的大數(shù)據(jù)分析包含了狹義的數(shù)據(jù)分析和大數(shù)據(jù)挖掘。狹義的數(shù)據(jù)分析一般是得到某一個(gè)或某幾個(gè)既定指標(biāo)的統(tǒng)計(jì)值,如總和、平均值等,統(tǒng)計(jì)值也都需與各相關(guān)業(yè)務(wù)結(jié)合進(jìn)行解讀,才能發(fā)揮出數(shù)據(jù)的價(jià)值與作用。目前,在大數(shù)據(jù)領(lǐng)域常用的數(shù)據(jù)分析的方法有回歸分析、對(duì)比分析、交叉分析等。大數(shù)據(jù)分析的概念大數(shù)據(jù)挖掘是指從海量數(shù)據(jù)中,通過統(tǒng)計(jì)學(xué)、人工智能、機(jī)器學(xué)習(xí)等方法,挖掘出未知的、且有價(jià)值的信息和知識(shí)的過程。在計(jì)算機(jī)硬件性能和云計(jì)算技術(shù)的支持下,大數(shù)據(jù)挖掘更強(qiáng)調(diào)的是從海量數(shù)據(jù)中、從不同類型的數(shù)據(jù)中尋找未知的模式與規(guī)律。與傳統(tǒng)的抽樣調(diào)查方法相比,大數(shù)據(jù)的數(shù)據(jù)挖掘是對(duì)整體數(shù)據(jù)進(jìn)行處理。而全體海量數(shù)據(jù)正是存儲(chǔ)在分布式文件系統(tǒng)、非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)等新型的大數(shù)據(jù)存儲(chǔ)系統(tǒng)之中。目前,在大數(shù)據(jù)領(lǐng)域,大數(shù)據(jù)挖掘主要側(cè)重解決分類、聚類、關(guān)聯(lián)和預(yù)測(cè)等問題,所采用的方法包括決策樹、神經(jīng)網(wǎng)絡(luò)、關(guān)聯(lián)規(guī)則和聚類分析等。大數(shù)據(jù)分析的流程大數(shù)據(jù)分析源于業(yè)務(wù)需求,一個(gè)完整的大數(shù)據(jù)分析流程可分為5個(gè)部分,如下圖。大數(shù)據(jù)分析的流程1.業(yè)務(wù)需求分析業(yè)務(wù)需求是指項(xiàng)目中需要解決的問題或達(dá)到的目標(biāo)。業(yè)務(wù)需求分析涉及收集和整理相關(guān)數(shù)據(jù),與業(yè)務(wù)相關(guān)方面的討論和溝通,以及與業(yè)務(wù)團(tuán)隊(duì)合作定義關(guān)鍵指標(biāo)和分析要點(diǎn)。業(yè)務(wù)需求分析可為數(shù)據(jù)的采集、存儲(chǔ)、分析及處理提供清晰的指引方向。同時(shí),通過業(yè)務(wù)需求分析,可以識(shí)別和定義關(guān)鍵指標(biāo),即對(duì)業(yè)務(wù)決策具有重要影響的指標(biāo)。大數(shù)據(jù)分析的流程2.數(shù)據(jù)采集與存儲(chǔ)根據(jù)指標(biāo)的分解確定數(shù)據(jù)選取范圍,采集目標(biāo)數(shù)據(jù),采集到的數(shù)據(jù)再進(jìn)行存儲(chǔ)。數(shù)據(jù)無(wú)處不在,來(lái)源既可以是企業(yè)內(nèi)部數(shù)據(jù)庫(kù)中的歷史數(shù)據(jù),也可以是企業(yè)內(nèi)部Excel表格數(shù)據(jù)、文本文件和一些實(shí)時(shí)數(shù)據(jù),還可以來(lái)自互聯(lián)網(wǎng)和行業(yè)領(lǐng)域相關(guān)數(shù)據(jù)等。相比于傳統(tǒng)數(shù)據(jù),大數(shù)據(jù)多是半結(jié)構(gòu)化和非結(jié)構(gòu)化的。以往關(guān)系型數(shù)據(jù)庫(kù)只能完成某些簡(jiǎn)單的查詢和處理請(qǐng)求,當(dāng)數(shù)據(jù)存儲(chǔ)和處理任務(wù)超過關(guān)系型數(shù)據(jù)庫(kù)能力范圍時(shí),需要對(duì)其做出一定改進(jìn),可借助于大型分布式數(shù)據(jù)庫(kù)或集群或云存儲(chǔ)平臺(tái)。大數(shù)據(jù)分析的流程3.數(shù)據(jù)預(yù)處理數(shù)據(jù)源的多樣性以及數(shù)據(jù)傳輸中的某些因素使得大數(shù)據(jù)質(zhì)量具有了不確定性,噪聲、冗余、缺失、數(shù)據(jù)不一致等問題嚴(yán)重影響了大數(shù)據(jù)的質(zhì)量。為了獲得可靠的數(shù)據(jù)分析和挖掘結(jié)果必須利用預(yù)處理手段提高大數(shù)據(jù)的質(zhì)量。數(shù)據(jù)預(yù)處理包括數(shù)據(jù)合并、數(shù)據(jù)清洗、數(shù)據(jù)標(biāo)準(zhǔn)化、數(shù)據(jù)變換等.如將來(lái)自不同部門的數(shù)據(jù)表合并,補(bǔ)充部分?jǐn)?shù)據(jù)缺失的屬性值,統(tǒng)一數(shù)據(jù)格式、編碼和度量,進(jìn)行歸一化處理,檢測(cè)和刪除異常數(shù)據(jù),冗余檢測(cè)和數(shù)據(jù)壓縮等。大數(shù)據(jù)分析的流程4.分析與建模大數(shù)據(jù)分析涵蓋了統(tǒng)計(jì)分析、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、模式識(shí)別等多個(gè)領(lǐng)域的技術(shù)和方法。大數(shù)據(jù)分析可以采用對(duì)比分析、分組分析、交叉分析和回歸分析等分析方法,綜合考慮業(yè)務(wù)需求、數(shù)據(jù)情況、花費(fèi)成本等因素,選擇最合適的模型.如推薦系統(tǒng)、關(guān)聯(lián)規(guī)則、分類模型、聚類模型、時(shí)間序列模型等。在實(shí)踐中對(duì)于一個(gè)分析目標(biāo),往往會(huì)運(yùn)用多個(gè)模型,然后通過后續(xù)的模型評(píng)估,進(jìn)行優(yōu)化、調(diào)整,以尋求最合適的模型。大數(shù)據(jù)分析的流程5.模型評(píng)估與優(yōu)化對(duì)模型進(jìn)行較為全面的評(píng)價(jià),包括建模過程評(píng)估和模型結(jié)果評(píng)估,相關(guān)介紹如下。建模過程評(píng)估:對(duì)模型的精度、準(zhǔn)確性、效率和通用性進(jìn)行評(píng)估。模型結(jié)果評(píng)估:評(píng)估是否有遺漏業(yè)務(wù),模型結(jié)果是否解決了業(yè)務(wù)問題,需要結(jié)合業(yè)務(wù)專家進(jìn)行評(píng)估。模型優(yōu)化則是指模型性能在經(jīng)過模型評(píng)價(jià)后已經(jīng)達(dá)到了要求,但在實(shí)際生產(chǎn)環(huán)境應(yīng)用過程中,發(fā)現(xiàn)模型的性能并不理想,繼而對(duì)模型進(jìn)行重構(gòu)與優(yōu)化的過程。在多數(shù)情況下模型優(yōu)化的過程和分析與建模的過程基本一致。大數(shù)據(jù)分析的流程6.部署部署是指將數(shù)據(jù)分析結(jié)果與結(jié)論應(yīng)用至實(shí)際生產(chǎn)系統(tǒng)的過程。根據(jù)需求的不同,部署階段可以提供一份包含現(xiàn)狀具體整改措施的數(shù)據(jù)分析報(bào)告,也可以提供將模型部署在整個(gè)生產(chǎn)系統(tǒng)上的解決方案。在多數(shù)項(xiàng)目中,數(shù)據(jù)分析師提供的是一份數(shù)據(jù)分析報(bào)告或一套解決方案,實(shí)際執(zhí)行與部署的是需求方。大數(shù)據(jù)分析的工具大數(shù)據(jù)分析是一個(gè)反復(fù)探索的過程,只有將大數(shù)據(jù)分析工具提供的技術(shù)和實(shí)施經(jīng)驗(yàn)與企業(yè)的業(yè)務(wù)邏輯和需求緊密結(jié)合,并在實(shí)施過程中不斷地磨合,才能取得較好的效果。常用的幾種大數(shù)據(jù)分析工具如下。大數(shù)據(jù)分析的工具1.MapReduceMapReduce是一個(gè)分布式運(yùn)算程序的編程框架,是基于Hadoop的大數(shù)據(jù)分析應(yīng)用的核心框架。MapReduce的核心功能是將用戶編寫的業(yè)務(wù)邏輯代碼和自帶的組件整合成一個(gè)完整的分布式運(yùn)算程序,并行運(yùn)行在Hadoop集群上。MapReduce是Hadoop的核心計(jì)算框架,是用于大規(guī)模數(shù)據(jù)集(大于1TB)并行運(yùn)算的編程模型。大數(shù)據(jù)分析的工具M(jìn)apReduce工作流程主要包括Map(映射)和Reduce(規(guī)約)兩個(gè)階段。當(dāng)啟動(dòng)一個(gè)MapReduce任務(wù)時(shí),Map端將會(huì)讀取HDFS上的數(shù)據(jù),將數(shù)據(jù)映射成所需要的鍵值對(duì)類型并傳至Reduce端。Reduce端接收Map端鍵值對(duì)類型的中間數(shù)據(jù),并根據(jù)不同鍵進(jìn)行分組,對(duì)每一組鍵相同的數(shù)據(jù)進(jìn)行處理,得到新的鍵值對(duì)并輸出至HDFS。大數(shù)據(jù)分析的工具2.SparkApacheSpark是一個(gè)用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎。Spark提供了Java、Scala、Python和R的高級(jí)API,以及支持通用執(zhí)行圖的優(yōu)化引擎。Spark還支持一組豐富的高級(jí)工具,如下圖,包括用于SQL和結(jié)構(gòu)化數(shù)據(jù)處理的SparkSQL,用于機(jī)器學(xué)習(xí)的MLlib,用于圖形處理的GraphX以及用于增量計(jì)算和流處理的結(jié)構(gòu)化流Streaming。大數(shù)據(jù)分析的工具3.PythonPython是一種面向?qū)ο蟆⒔忉屝陀?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,擁有高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),并且能夠用簡(jiǎn)單而又高效的方式進(jìn)行面向?qū)ο缶幊獭5荘ython并不提供一個(gè)專門的數(shù)據(jù)分析環(huán)境,Python提供其眾多的擴(kuò)展庫(kù)。例如,常見的擴(kuò)展庫(kù)NumPy、SciPy和Matplotlib,分別為Python提供了快速數(shù)組處理、數(shù)值運(yùn)算和繪圖功能,且scikit-learn庫(kù)中包含很多分類和聚類相關(guān)的算法。正因?yàn)橛辛藬U(kuò)展庫(kù),Python是大數(shù)據(jù)分析常用的語(yǔ)言,也是比較適合大數(shù)據(jù)分析的語(yǔ)言。廣告流量檢測(cè)違規(guī)識(shí)別流程分析項(xiàng)目實(shí)施了解正常的廣告投放流程了解廣告流量違規(guī)現(xiàn)狀了解廣告流量常見違規(guī)方式了解廣告流量常見違規(guī)方式廣告流量檢測(cè)違規(guī)識(shí)別流程分析了解正常的廣告投放流程一般而言,廣告投放系統(tǒng)包含四大功能模塊,如下表。功能模塊說明需求方平臺(tái)(DSP)廣告主或廣告代理商服務(wù)平臺(tái),廣告主通過本平臺(tái)管理廣告創(chuàng)意、設(shè)置廣告活動(dòng)、配置廣告投放策略、完成廣告投放廣告交易平臺(tái)(ADX)連接需求方和供應(yīng)方,整合媒體方資源,按照預(yù)先設(shè)置的廣告競(jìng)價(jià)規(guī)則,將勝出者的廣告下發(fā)到廣告位進(jìn)行展示供應(yīng)方平臺(tái)(SSP)媒體方(供應(yīng)方)服務(wù)平臺(tái),媒體方通過該平臺(tái)完成廣告資源的管理,如管理廣告位、控制廣告展示(版式)、查詢廣告位流量庫(kù)存、廣告位排期管理等數(shù)據(jù)管理平臺(tái)(DMP)支持第三方數(shù)據(jù)接入,為廣告投放提供人群標(biāo)簽進(jìn)行受眾精準(zhǔn)定向,建立用戶畫像,進(jìn)行人群標(biāo)簽的管理以及再投放,整合管理各方數(shù)據(jù)且提供數(shù)據(jù)統(tǒng)計(jì)分析,輸出各種數(shù)據(jù)報(bào)告,用來(lái)指導(dǎo)供需雙方進(jìn)行廣告投放策略優(yōu)化了解正常的廣告投放流程廣告投放流程如下圖。了解正常的廣告投放流程廣告投放流程可分為以下7個(gè)部分:需求方運(yùn)營(yíng)人員根據(jù)廣告主的要求,上傳創(chuàng)意,并配置廣告投放策略。供應(yīng)方運(yùn)營(yíng)人員審核創(chuàng)意,對(duì)廣告位的流量進(jìn)行排期,并配置廣告投放策略。用戶打開手機(jī)、電腦等軟件,觸發(fā)終端的廣告位請(qǐng)求,終端向廣告系統(tǒng)發(fā)起廣告請(qǐng)求。DMP模塊向SSP/ADX模塊獲取更豐富的用戶畫像信息,然后將用戶畫像信息傳遞給DSP模塊,由DSP模塊根據(jù)預(yù)先設(shè)置的廣告投放策略選出需要投放的廣告,如健身房廣告。了解正常的廣告投放流程DMP模塊獲取應(yīng)該展示的廣告為健身房廣告,并將健身房廣告在軟件終端進(jìn)行展示,完成廣告的投放。軟件終端完成健身房廣告播放后,將用戶行為上報(bào)給DMP模塊,DMP模塊根據(jù)用戶行為等數(shù)據(jù)生成各種數(shù)據(jù)報(bào)告。廣告主通過DMP模塊查詢廣告投放數(shù)據(jù)報(bào)告,作為下次廣告投放的決策參考。了解正常的廣告投放流程了解廣告流量違規(guī)現(xiàn)狀了解廣告流量常見違規(guī)方式了解廣告流量常見違規(guī)方式廣告流量檢測(cè)違規(guī)識(shí)別流程分析了解廣告流量違規(guī)現(xiàn)狀在現(xiàn)代生活中,網(wǎng)絡(luò)作為一個(gè)能夠隨時(shí)隨地了解到世界各處信息的一個(gè)強(qiáng)有力的工具,早已滲透入人們生活的點(diǎn)點(diǎn)滴滴,人們了解一個(gè)新的事物的開始都是從網(wǎng)絡(luò)上尋找資源,網(wǎng)絡(luò)逐漸替代以往獲取信息的方式。同時(shí),大批商戶選擇將商品放置在互聯(lián)網(wǎng)平臺(tái)借此推廣,巨大的需求推動(dòng)了網(wǎng)絡(luò)上投放廣告代理平臺(tái)的出現(xiàn),以及利用廣告流量作假謀取利益的不法商戶。了解廣告流量違規(guī)現(xiàn)狀互聯(lián)網(wǎng)虛假流量,是指通過特殊的方式,模仿人類瀏覽行為生成的訪問流量。如通過設(shè)置程序,每分鐘訪問一次某網(wǎng)站的主頁(yè),即屬于虛假流量。廣告主尋找媒體投放廣告的目的是將信息傳達(dá)給目標(biāo)受眾,以此促進(jìn)銷售量。而媒體的責(zé)任則是盡可能引導(dǎo)更多的用戶瀏覽該信息。瀏覽量的增加一般情況下可以促進(jìn)銷售量的增加。同等條件下,流量大的網(wǎng)站收取的廣告費(fèi)用更高,因此,部分網(wǎng)站受利益的驅(qū)使,會(huì)通過違規(guī)方式產(chǎn)生虛假流量。了解廣告流量違規(guī)現(xiàn)狀低質(zhì)量虛假流量的問題在數(shù)字營(yíng)銷行業(yè)中一直存在,虛假流量的存在給廣告主帶來(lái)了嚴(yán)重的損失。一方面虛假流量提高了廣告費(fèi)用,直接損害了廣告主的利益。另一方面,廣告監(jiān)測(cè)行為數(shù)據(jù)被越來(lái)越多地用于建模和做決策,如繪制用戶畫像、跨設(shè)備識(shí)別對(duì)應(yīng)用戶等。但是,違規(guī)行為,惡意曝光,甚至是在用戶完全無(wú)感知的情況下被控制訪問等產(chǎn)生的不由用戶主觀發(fā)出的行為,這些惡意流量給廣告監(jiān)測(cè)行為數(shù)據(jù)帶來(lái)了巨大的噪聲,給模型訓(xùn)練造成了很大影響。了解正常的廣告投放流程了解廣告流量違規(guī)現(xiàn)狀了解廣告流量常見違規(guī)方式了解廣告流量常見違規(guī)方式廣告流量檢測(cè)違規(guī)識(shí)別流程分析了解廣告流量常見違規(guī)方式互聯(lián)網(wǎng)時(shí)代以流量為核心,廣告如果有更多的流量那么也意味著更多的關(guān)注,更高的收入,廣告主在互聯(lián)網(wǎng)投放廣告時(shí)往往會(huì)依據(jù)流量信息來(lái)設(shè)計(jì)投放方案,廣告流量違規(guī)不僅僅會(huì)使廣告主選擇錯(cuò)誤的廣告投放方案,造成無(wú)用功。同時(shí)后期根據(jù)用戶瀏覽信息進(jìn)而對(duì)現(xiàn)有廣告的修改方案也會(huì)出現(xiàn)偏差,常常會(huì)引發(fā)蝴蝶效應(yīng)造成不可估量的損失。因此,對(duì)廣告流量進(jìn)行違規(guī)檢測(cè)進(jìn)而加以防范是非常有必要的,對(duì)于廣告的瀏覽信息數(shù)據(jù)往往十分龐大,人工進(jìn)行篩選極不現(xiàn)實(shí),一般會(huì)通過算法對(duì)海量瀏覽信息進(jìn)行自動(dòng)化的篩選甄別。了解廣告流量常見違規(guī)方式常見的幾種廣告流量違規(guī)方式,如下表。流量違規(guī)方式說明腳本刷量通過設(shè)定程序,使電腦按一定的規(guī)則訪問目標(biāo)網(wǎng)站,以增加網(wǎng)站的訪問量或點(diǎn)擊量控制肉雞訪問利用互聯(lián)網(wǎng)上受病毒感染的電腦訪問目標(biāo)網(wǎng)站頁(yè)面代碼修改通過病毒感染或其他方式,在媒體網(wǎng)站插入隱藏代碼,在其頁(yè)面加載肉眼不可見的指向目標(biāo)網(wǎng)站的小頁(yè)面DNS劫持通過篡改DNS服務(wù)器上的數(shù)據(jù),強(qiáng)制修改用戶電腦的訪問位置,使原本訪問網(wǎng)站被動(dòng)修改為目標(biāo)網(wǎng)站了解廣告流量常見違規(guī)方式違規(guī)者通過各項(xiàng)技術(shù),不斷模擬人的行為,增大識(shí)別違規(guī)流量的難度。例如,控制分時(shí)間段的IP訪問量,使用正常的用戶代理商(User-Agent,UA),控制在頁(yè)面曝光的時(shí)間、訪問的路徑等,訪問流量通過上述手段的處理,雖然識(shí)別難度增大了,但并不意味著違規(guī)流量是不可識(shí)別的。機(jī)器模擬的流量是通過軟件實(shí)現(xiàn),必定與人類的點(diǎn)擊流量存在一定的差異。了解正常的廣告投放流程了解廣告流量違規(guī)現(xiàn)狀了解廣告流量常見違規(guī)方式了解廣告流量常見違規(guī)方式廣告流量檢測(cè)違規(guī)識(shí)別流程分析了解廣告流量常見違規(guī)方式一般來(lái)說,真實(shí)流量一般自然(真實(shí)的流量在各個(gè)維度中表現(xiàn)一定是自然的)且多樣(網(wǎng)民喜好各不相同,行為也多種多樣)。而對(duì)于虛假流量,常表現(xiàn)出一定的目的性(虛假流量的產(chǎn)生一定和某個(gè)特定的目的有關(guān))和規(guī)律性(特定的目的導(dǎo)致虛假流量一定有特殊的規(guī)律)。由于虛假流量與真實(shí)流量在具體訪問行為有較大差異,圍繞用戶行為可從如下幾個(gè)方面識(shí)別出虛假流量。了解廣告流量常見違規(guī)方式基本屬性基本屬性具體包括了時(shí)間維度或地域維度、終端類型、操作系統(tǒng)、聯(lián)網(wǎng)方式、運(yùn)營(yíng)商、IP地址分布情況等,其中時(shí)間維度或地域維度、終端類型具體說明如下。時(shí)間維度或地域維度。正常的流量訪問分布在一天中的各個(gè)時(shí)段,地理分布較為均勻(區(qū)域性投放或活動(dòng)除外)、訪問趨勢(shì)較為平緩。而不同流量出現(xiàn)時(shí)間段特殊、來(lái)源區(qū)域集中、趨勢(shì)突增的情況。因此,通過流量產(chǎn)生的時(shí)間、地理位置、訪問趨勢(shì)變化都可以成為判斷虛假流量的參考方式。了解廣告流量常見違規(guī)方式終端類型。不同的渠道覆蓋不同的用戶群,用戶終端會(huì)有一定的區(qū)別。終端類型是一個(gè)更寬泛的概念,包括了設(shè)備的物理形態(tài)(如計(jì)算機(jī)、手機(jī)、平板等),而操作系統(tǒng)(如Windows、iOS、Android等)、聯(lián)網(wǎng)方式(如Wi-Fi、4G/5G等)和運(yùn)營(yíng)商(如中國(guó)移動(dòng)、中國(guó)聯(lián)通、中國(guó)電信等)則是終端類型的具體屬性。描述了設(shè)備的操作系統(tǒng)類型、聯(lián)網(wǎng)方式和所屬的網(wǎng)絡(luò)運(yùn)營(yíng)商。如果對(duì)方是中國(guó)移動(dòng)的客戶,那么終端來(lái)自于移動(dòng)運(yùn)營(yíng)商。排除特殊渠道的應(yīng)用商店,大部分渠道的用戶終端與整個(gè)互聯(lián)網(wǎng)終端分布是類似的。因此,在正常情況下,用戶訪問設(shè)備應(yīng)該多元化。同理,用戶的設(shè)備操作系統(tǒng)、聯(lián)網(wǎng)方式、運(yùn)營(yíng)商等設(shè)備屬性,同樣可以成為判斷虛假流量的參考標(biāo)準(zhǔn)。了解廣告流量常見違規(guī)方式產(chǎn)品參與度產(chǎn)品參與度具體包括跳出率、用戶訪問深度、平均訪問時(shí)長(zhǎng)、用戶行為路徑、頁(yè)面點(diǎn)擊情況、流量留存情況、單頁(yè)面人均訪問次數(shù)等,如下表。產(chǎn)品參與度說明跳出率通常通過跳出率來(lái)衡量網(wǎng)站性能與質(zhì)量等,跳出率也可以作為辨別虛假流量的參考指標(biāo)。如果跳出率過高,那么除了要判斷投放渠道的質(zhì)量和定位客戶群體是否精準(zhǔn)外,還應(yīng)該警惕虛假流量用戶訪問深度用戶訪問深度是用戶一次瀏覽網(wǎng)站、App的深度,是衡量網(wǎng)站服務(wù)效率的重要指標(biāo)之一。以刷量為目的的虛假流量,用戶訪問深度通常非常低。當(dāng)然,造成用戶訪問深度不夠的原因有多種,如新投放的落地頁(yè)的失敗引導(dǎo)等。在觀察此指標(biāo)時(shí),應(yīng)先排除產(chǎn)品較大改動(dòng)造成的訪問深度不足等特殊情況,或與其他渠道的流量數(shù)據(jù)綜合比較,進(jìn)行科學(xué)評(píng)估了解廣告流量常見違規(guī)方式續(xù)上表產(chǎn)品參與度說明平均訪問時(shí)長(zhǎng)平均訪問時(shí)長(zhǎng)指標(biāo),主要用來(lái)衡量用戶與網(wǎng)站、App交互的深度。交互越深,相應(yīng)停留的時(shí)長(zhǎng)也越長(zhǎng)。顯然虛假流量追求的是“量”,而非“時(shí)長(zhǎng)”,因此平均訪問時(shí)長(zhǎng)也可以配合幾個(gè)網(wǎng)站參與度指標(biāo)一起分析用戶行為路徑用戶在App或網(wǎng)站中的訪問行為路徑,用戶路徑的分析模型可以將用戶行為進(jìn)行可視化展示。因此通常用戶通過渠道到網(wǎng)站后會(huì)有不同的行為,一般會(huì)從落地頁(yè)開始進(jìn)行分流,會(huì)訪問不同的頁(yè)面,并在不同的頁(yè)面結(jié)束對(duì)網(wǎng)站的訪問。顯然,用戶在App或網(wǎng)站中的一系列行為操作的順序是沒規(guī)律的。而對(duì)于虛假流量,雖然通過某些方式完成2~3次點(diǎn)擊,但行為路徑也是預(yù)先設(shè)定,有跡可循的了解廣告流量常見違規(guī)方式續(xù)上表產(chǎn)品參與度說明頁(yè)面點(diǎn)擊情況虛假流量用戶的頁(yè)面點(diǎn)擊通常是不點(diǎn)擊,或雜亂點(diǎn)擊的,借助熱力圖工具可以較為容易地發(fā)現(xiàn)問題留存情況留存可以判斷用戶忠誠(chéng)度,真實(shí)的流量總會(huì)有一部分訪問者會(huì)再次訪問,而虛假流量在合作結(jié)束后是不會(huì)進(jìn)行模擬再次訪問、點(diǎn)擊廣告等收尾工作的流量的單頁(yè)面人均訪問次數(shù)如果某個(gè)落地頁(yè)面的人均訪問次數(shù)很高,如人均訪問次數(shù)4次以上,那么就很可疑,原因是在一次訪問中用戶一般是不會(huì)多次瀏覽同一個(gè)落地頁(yè)的。結(jié)合該頁(yè)面在網(wǎng)站整體的人均訪問次數(shù)進(jìn)行對(duì)比,結(jié)果會(huì)更加準(zhǔn)確了解廣告流量常見違規(guī)方式除基本屬性和產(chǎn)品參與度之外,還可以從業(yè)務(wù)的轉(zhuǎn)化情況進(jìn)行虛假流量的識(shí)別。很多違規(guī)流量可以模仿人類行為,成功繞過跳出率、平均訪問深度和停留時(shí)長(zhǎng)這些宏觀指標(biāo),但是要模仿一個(gè)業(yè)務(wù)轉(zhuǎn)化則較難,如果宏觀指標(biāo)表現(xiàn)得好,但業(yè)務(wù)轉(zhuǎn)化很少的話,那么需要提高警覺,該流量很有可能是違規(guī)流量。了解正常的廣告投放流程了解廣告流量違規(guī)現(xiàn)狀了解廣告流量常見違規(guī)方式了解廣告流量常見違規(guī)方式廣告流量檢測(cè)違規(guī)識(shí)別流程分析廣告流量檢測(cè)違規(guī)識(shí)別流程分析本案例的目標(biāo)是建立互聯(lián)網(wǎng)虛假流量識(shí)別模型,精準(zhǔn)識(shí)別虛假違規(guī)流量記錄。對(duì)廣告檢測(cè)中獲得的歷史流量數(shù)據(jù)進(jìn)行選擇性抽取,采用無(wú)放回隨機(jī)抽樣法抽取7天的流量記錄作為原始建模數(shù)據(jù)。根據(jù)目標(biāo)將廣告檢測(cè)中的流量違規(guī)識(shí)別的整體實(shí)現(xiàn)流程進(jìn)行拆分,如下圖。廣告流量檢測(cè)違規(guī)識(shí)別流程分析廣告流量檢測(cè)違規(guī)識(shí)別實(shí)現(xiàn)流程的步驟如下。將7天的流量記錄存儲(chǔ)至Hive數(shù)據(jù)倉(cāng)庫(kù)。對(duì)Hive中的數(shù)據(jù)集進(jìn)行數(shù)據(jù)探索分析,包括缺失值、冗余字段的基礎(chǔ)探索和流量違規(guī)的行為特征的業(yè)務(wù)探索。根據(jù)探索分析結(jié)果得出的清洗規(guī)則,對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的預(yù)處理,包括處理缺失值、構(gòu)建特征、數(shù)據(jù)標(biāo)準(zhǔn)化、構(gòu)建建模樣本。建立不同的虛假流量識(shí)別模型,并對(duì)模型進(jìn)行評(píng)估及對(duì)比。保存效果較好的模型,模擬新數(shù)據(jù)產(chǎn)生,加載保存好的模型進(jìn)行應(yīng)用。廣告流量檢測(cè)違規(guī)識(shí)別流程分析在廣告檢測(cè)中,每一秒都會(huì)采集一條或多條狀態(tài)數(shù)據(jù)。由于采集頻率較高,所以數(shù)據(jù)的規(guī)模是非常龐大的。而Spark分布式計(jì)算框架在大數(shù)據(jù)處理效率方面具有很大的優(yōu)勢(shì),而且Spark提供了一個(gè)機(jī)器學(xué)習(xí)算法庫(kù)MLlib,可以簡(jiǎn)化復(fù)雜的建模實(shí)現(xiàn)過程,使用更加簡(jiǎn)便。因此,廣告流量檢測(cè)違規(guī)識(shí)別案例主要采用Spark大數(shù)據(jù)技術(shù)對(duì)流量數(shù)據(jù)進(jìn)行探索分析和處理,并通過Spark技術(shù)實(shí)現(xiàn)模型構(gòu)建、預(yù)測(cè)、評(píng)估、應(yīng)用的過程。Spark框架本身并沒有存儲(chǔ)功能,但Spark可以讀取本地文件系統(tǒng)、MySQL數(shù)據(jù)庫(kù)、Hive數(shù)據(jù)倉(cāng)庫(kù)、HBase分布式數(shù)據(jù)庫(kù)等多種存儲(chǔ)系統(tǒng)的數(shù)據(jù),因此可以將數(shù)據(jù)存儲(chǔ)至Hive、MySQL等多種存儲(chǔ)系統(tǒng)中。小結(jié)解決廣告違規(guī)是一件任重道遠(yuǎn),且非一朝一夕可以完成的事情,不光是DSP,整個(gè)行業(yè)的參與者都需要認(rèn)識(shí)到違規(guī)對(duì)自身造成的危害,必須嚴(yán)格遵紀(jì)守法,不斷提升法治思維能力。本項(xiàng)目展示了廣告檢測(cè)中的流量違規(guī)識(shí)別案例,從項(xiàng)目背景、項(xiàng)目目標(biāo)、目標(biāo)分析、項(xiàng)目實(shí)施展開,分步驟較為完整地分析了廣告流量違規(guī)識(shí)別案例的實(shí)現(xiàn)步驟,后續(xù)章節(jié)將根據(jù)廣告流量檢測(cè)違規(guī)識(shí)別案例的需求及實(shí)現(xiàn)流程,學(xué)習(xí)相關(guān)的大數(shù)據(jù)組件知識(shí),實(shí)現(xiàn)廣告流量違規(guī)識(shí)別。Spark大數(shù)據(jù)環(huán)境安裝搭建知識(shí)準(zhǔn)備教學(xué)目標(biāo)知識(shí)目標(biāo)了解Hadoop框架的發(fā)展歷程、特點(diǎn)、生態(tài)系統(tǒng)、應(yīng)用場(chǎng)景。了解Hive的特點(diǎn)、應(yīng)用場(chǎng)景、與關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別。了解Spark的發(fā)展歷程、特點(diǎn)、生態(tài)系統(tǒng)、應(yīng)用場(chǎng)景。熟悉Hadoop框架和Spark的架構(gòu)組成。教學(xué)目標(biāo)技能目標(biāo)能夠理解Hadoop、Hive、Spark組件的作用。能夠完成Hadoop集群、Hive和Spark的搭建與配置。素質(zhì)目標(biāo)具備團(tuán)隊(duì)合作精神,能夠與小組成員協(xié)商合作,共同完成集群搭建任務(wù)。具有良好的學(xué)習(xí)能力,能夠借助大數(shù)據(jù)平臺(tái)搜集信息。具有獨(dú)立思考和創(chuàng)新能力,能夠掌握相關(guān)知識(shí)點(diǎn)并完成項(xiàng)目任務(wù)。思維導(dǎo)圖項(xiàng)目背景數(shù)據(jù)技術(shù)蓬勃發(fā)展,基于開源技術(shù)的Hadoop在行業(yè)中應(yīng)用廣泛。Hadoop的三大組件之一的HDFS雖然能分布式存儲(chǔ)大規(guī)模數(shù)據(jù),但其不提供數(shù)據(jù)分析功能,而Hadoop的生態(tài)組件Hive提供了類似于SQL的查詢接口,使得對(duì)存儲(chǔ)好的數(shù)據(jù)進(jìn)行查詢和分析更加方便,無(wú)須學(xué)習(xí)復(fù)雜的MapReduce編程,Hive支持對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化定義,數(shù)據(jù)模型靈活性更好,而且,Hive實(shí)際上是將數(shù)據(jù)存儲(chǔ)在HDFS之上,同樣滿足大規(guī)模數(shù)據(jù)的分布式存儲(chǔ)需求。Hadoop最主要的缺陷是其三大組件之一的MapReduce計(jì)算模型延遲過高,無(wú)法勝任實(shí)時(shí)、快速計(jì)算的需求。Spark的誕生彌補(bǔ)了MapReduce的缺陷。項(xiàng)目背景Spark擁有MapReduce所具有的優(yōu)點(diǎn),但不同于MapReduce,Spark的中間輸出結(jié)果可以保存在內(nèi)存中,從而大大減少了讀寫HDFS的次數(shù),因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)中需要迭代的算法。廣告數(shù)據(jù)監(jiān)測(cè)公司通過Spark大數(shù)據(jù)環(huán)境,能夠較好地完成廣告流量違規(guī)檢測(cè)的數(shù)據(jù)探索、處理與模型構(gòu)建。項(xiàng)目目標(biāo)完成Spark大數(shù)據(jù)環(huán)境的安裝搭建,為后續(xù)實(shí)現(xiàn)廣告流量檢測(cè)作弊識(shí)別奠定好環(huán)境基礎(chǔ)。目標(biāo)分析安裝搭建3個(gè)節(jié)點(diǎn)的Hadoop集群,提供Hadoop大數(shù)據(jù)平臺(tái)。安裝搭建Hive,提供數(shù)據(jù)存儲(chǔ)功能。安裝搭建3個(gè)節(jié)點(diǎn)的Spark集群,提供數(shù)據(jù)分析功能。Hadoop大數(shù)據(jù)框架Hive數(shù)據(jù)倉(cāng)庫(kù)工具Spark分布式計(jì)算框架Hadoop大數(shù)據(jù)框架大數(shù)據(jù)時(shí)代下,針對(duì)大數(shù)據(jù)處理的新技術(shù)也在不斷地開發(fā)和運(yùn)用中,并逐漸成為數(shù)據(jù)處理挖掘行業(yè)廣泛使用的主流技術(shù)之一。在大數(shù)據(jù)時(shí)代,Hadoop作為處理大數(shù)據(jù)的分布式存儲(chǔ)和計(jì)算框架,Hadoop及其生態(tài)系統(tǒng)組件在國(guó)內(nèi)外大、中、小型企業(yè)中已得到了廣泛應(yīng)用。學(xué)習(xí)大數(shù)據(jù)技術(shù),掌握大數(shù)據(jù)組件的使用是從事大數(shù)據(jù)行業(yè)工作必不可少的一步。本節(jié)將介紹Hadoop的簡(jiǎn)介、Hadoop的發(fā)展歷程、Hadoop的特點(diǎn)和Hadoop的生態(tài)系統(tǒng),并對(duì)Hadoop應(yīng)用場(chǎng)景進(jìn)行簡(jiǎn)單的介紹。Hadoop簡(jiǎn)介隨著移動(dòng)設(shè)備的廣泛使用和互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)的增量和存量快速增加,硬件發(fā)展跟不上數(shù)據(jù)發(fā)展,單機(jī)設(shè)備很多時(shí)候已經(jīng)無(wú)法處理數(shù)據(jù)規(guī)模達(dá)到TB甚至PB級(jí)別的數(shù)據(jù)。如果一頭牛拉不動(dòng)貨物,那么顯然找?guī)最^牛一起拉會(huì)比培育一頭更強(qiáng)壯的牛容易。同理,對(duì)于單機(jī)無(wú)法解決的問題,綜合利用多個(gè)普通機(jī)器要比打造一臺(tái)超級(jí)計(jì)算機(jī)更加可行,這就是Hadoop的設(shè)計(jì)思想。Hadoop簡(jiǎn)介Hadoop是一個(gè)由Apache基金會(huì)開發(fā)的,可靠的、可擴(kuò)展的、用于分布式計(jì)算的分布式系統(tǒng)基礎(chǔ)架構(gòu)和開發(fā)開源軟件。ApacheHadoop軟件庫(kù)是一個(gè)框架,允許使用簡(jiǎn)單的編程模型在計(jì)算機(jī)集群中對(duì)大規(guī)模數(shù)據(jù)集進(jìn)行分布式處理,目的是從單一的服務(wù)器擴(kuò)展到成千上萬(wàn)的機(jī)器,將集群部署在多臺(tái)機(jī)器,每個(gè)機(jī)器提供本地計(jì)算和存儲(chǔ),并且將存儲(chǔ)的數(shù)據(jù)備份在多個(gè)節(jié)點(diǎn),由此提升集群的可用性,而不是通過機(jī)器的硬件提升集群的可用性。當(dāng)一個(gè)機(jī)器宕機(jī)時(shí),其他節(jié)點(diǎn)依然可以提供備份數(shù)據(jù)和計(jì)算服務(wù)。Hadoop簡(jiǎn)介Hadoop框架最核心的設(shè)計(jì)是Hadoop分布式文件系統(tǒng)(HadoopDistributedFileSystem,HDFS)和MapReduce。HDFS是可擴(kuò)展、高容錯(cuò)、高性能的分布式文件系統(tǒng),負(fù)責(zé)數(shù)據(jù)的分布式存儲(chǔ)和備份,文件寫入后只能讀取不能修改。MapReduce是分布式計(jì)算框架,包含Map(映射)和Reduce(規(guī)約)兩個(gè)過程。Hadoop的發(fā)展歷程Hadoop是由ApacheLucence創(chuàng)始人道·卡廷創(chuàng)建的,Lucence是一個(gè)應(yīng)用廣泛的文本搜索系統(tǒng)庫(kù)。Hadoop起源于開源的網(wǎng)絡(luò)搜索引擎ApacheNutch,Hadoop本身也是Lucence項(xiàng)目的一部分。Hadoop的發(fā)展歷程如下圖。Hadoop的發(fā)展歷程Hadoop的發(fā)展歷程可以簡(jiǎn)要概括為以下6個(gè)階段。2004年,Hadoop的起源:Hadoop最初是由道·卡廷與其好友邁克·卡法雷拉在Yahoo公司開發(fā)的,目的是處理大規(guī)模的數(shù)據(jù)集。他們基于Google的MapReduce和Google文件系統(tǒng)(GFS)的論文提出了Hadoop的設(shè)計(jì)思想。2006年,Hadoop成為頂級(jí)項(xiàng)目:Hadoop在2006年成為Apache軟件基金會(huì)的頂級(jí)項(xiàng)目,并發(fā)布了第一個(gè)穩(wěn)定版本。這使得更多的開發(fā)者和組織可以參與到Hadoop的開發(fā)和使用中。Hadoop的發(fā)展歷程2008年,Hadoop生態(tài)系統(tǒng)的形成:隨著Hadoop的發(fā)展,越來(lái)越多的相關(guān)項(xiàng)目和工具開始出現(xiàn),形成了Hadoop生態(tài)系統(tǒng)。例如,Hive、Pig、HBase等工具和組件相繼推出,為Hadoop的數(shù)據(jù)處理和分析提供了更多的選擇。2013年,Hadoop2.0的轉(zhuǎn)型:大型IT公司,如EMC、Microsoft、Intel、Teradata、Cisco都明顯增加了Hadoop方面的投入,Hortonworks宣傳要100%開源軟件,Hadoop2.0的轉(zhuǎn)型基本上無(wú)可阻擋。Hadoop的發(fā)展歷程2017年,Hadoop3.0的發(fā)布:Hadoop3.0引入了一系列的改進(jìn)和新特性,包括容器化支持、ErasureCoding、GPU支持等,進(jìn)一步提高了Hadoop的性能和擴(kuò)展性。2023年,Hadoop3.3.6的優(yōu)化:從2017年Hadoop3版本發(fā)布后,Hadoop社區(qū)一直積極響應(yīng)用戶反饋,不斷進(jìn)行性能優(yōu)化、漏洞修復(fù)以及功能增強(qiáng),確保Hadoop能夠持續(xù)滿足日益增長(zhǎng)的數(shù)據(jù)處理需求。截止至2023年6月18日,Hadoop最新版本為3.3.6。Hadoop的特點(diǎn)Hadoop是一個(gè)能夠讓用戶輕松架構(gòu)和使用的分布式計(jì)算平臺(tái),用戶可以輕松地在Hadoop上開發(fā)和運(yùn)行處理海量數(shù)據(jù)的應(yīng)用程序,Hadoop的特點(diǎn)如下表。優(yōu)點(diǎn)說明高可靠性數(shù)據(jù)存儲(chǔ)有多個(gè)備份,集群設(shè)置在不同機(jī)器上,可以防止一個(gè)節(jié)點(diǎn)宕機(jī)造成集群損壞。當(dāng)數(shù)據(jù)處理請(qǐng)求失敗后,Hadoop會(huì)自動(dòng)重新部署計(jì)算任務(wù)。Hadoop框架中有備份機(jī)制和檢驗(yàn)?zāi)J?,Hadoop會(huì)對(duì)出現(xiàn)問題的部分進(jìn)行修復(fù),也可以通過設(shè)置快照的方式在集群出現(xiàn)問題時(shí)回到之前的一個(gè)時(shí)間點(diǎn)高擴(kuò)展性Hadoop是在可用的計(jì)算機(jī)集簇間分配數(shù)據(jù)并完成計(jì)算任務(wù)的,為集群添加新的節(jié)點(diǎn)并不復(fù)雜,所以集群可以很容易進(jìn)行節(jié)點(diǎn)的擴(kuò)展,擴(kuò)大集群高效性Hadoop能夠在節(jié)點(diǎn)之間動(dòng)態(tài)地移動(dòng)數(shù)據(jù),在數(shù)據(jù)所在節(jié)點(diǎn)進(jìn)行并發(fā)處理,并保證各個(gè)節(jié)點(diǎn)的動(dòng)態(tài)平衡,因此處理速度非??霩adoop的特點(diǎn)優(yōu)點(diǎn)說明高容錯(cuò)性Hadoop的HDFS在存儲(chǔ)文件時(shí)會(huì)在多個(gè)節(jié)點(diǎn)或多個(gè)機(jī)器上都存儲(chǔ)文件的備份副本,當(dāng)讀取文檔出錯(cuò)或者某一個(gè)機(jī)器宕機(jī)了,系統(tǒng)會(huì)調(diào)用其他節(jié)點(diǎn)上的備份文件,保證程序順利運(yùn)行。如果啟動(dòng)的任務(wù)失敗,Hadoop會(huì)重新運(yùn)行該任務(wù)或啟用其他任務(wù)完成這個(gè)任務(wù)沒有完成的部分低成本Hadoop是開源的,即不需要支付任何費(fèi)用即可下載并安裝使用,節(jié)省了軟件購(gòu)買的成本可構(gòu)建在廉價(jià)機(jī)器上Hadoop不要求機(jī)器的配置達(dá)到極高的水準(zhǔn),大部分普通商用服務(wù)器就可以滿足要求Hadoop基本框架用Java語(yǔ)言編寫Hadoop帶有用Java語(yǔ)言編寫的框架,因此運(yùn)行在Linux生產(chǎn)平臺(tái)上是非常理想的。Hadoop上的應(yīng)用程序也可以使用其他語(yǔ)言編寫,如C++Hadoop生態(tài)系統(tǒng)Hadoop面世之后快速發(fā)展,相繼開發(fā)出了很多組件,組件各有特點(diǎn),共同提供服務(wù)給Hadoop相關(guān)的工程,并逐漸形成了系列化的組件系統(tǒng),通常被稱為Hadoop生態(tài)系統(tǒng)。不同的組件分別提供特定的服務(wù),Hadoop生態(tài)系統(tǒng)中的一些常用組件介紹如下表。組件介紹HDFS用于存儲(chǔ)和管理大規(guī)模數(shù)據(jù)集的分布式文件系統(tǒng)YARN用于集群資源管理和作業(yè)調(diào)度的框架MapReduce用于并行處理大規(guī)模數(shù)據(jù)集的分布式計(jì)算框架Common包含了Hadoop的公共庫(kù)和工具,提供了許多支持Hadoop運(yùn)行的基礎(chǔ)設(shè)施Hive基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具,具有強(qiáng)大的數(shù)據(jù)處理能力、SQL查詢支持、靈活的數(shù)據(jù)格式、數(shù)據(jù)倉(cāng)庫(kù)管理和生態(tài)系統(tǒng)支持等優(yōu)勢(shì)Pig用于數(shù)據(jù)分析和轉(zhuǎn)換的高級(jí)腳本語(yǔ)言Hadoop生態(tài)系統(tǒng)組件介紹HBase一個(gè)分布式的、面向列的NoSQL數(shù)據(jù)庫(kù),用于存儲(chǔ)大規(guī)模結(jié)構(gòu)化數(shù)據(jù)Spark一個(gè)快速、通用的大數(shù)據(jù)處理引擎,支持內(nèi)存計(jì)算和迭代計(jì)算ZooKeeper用于分布式應(yīng)用程序的協(xié)調(diào)服務(wù),提供了高可用性和一致性Sqoop用于在Hadoop和關(guān)系型數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)傳輸?shù)墓ぞ逨lume用于高效地收集、聚合和移動(dòng)大規(guī)模日志數(shù)據(jù)的分布式系統(tǒng)Oozie用于工作流調(diào)度和協(xié)調(diào)的系統(tǒng),用于管理Hadoop作業(yè)的執(zhí)行流程Mahout一個(gè)機(jī)器學(xué)習(xí)庫(kù),提供了許多常見的機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn)Ambari用于Hadoop集群的管理和監(jiān)控的工具Hadoop的應(yīng)用場(chǎng)景在大數(shù)據(jù)背景下,ApacheHadoop作為一種分布式存儲(chǔ)和計(jì)算框架,已經(jīng)被廣泛應(yīng)用到各行各業(yè),業(yè)界對(duì)于Hadoop這一開源分布式技術(shù)的應(yīng)用也在不斷地拓展中。Hadoop的十大應(yīng)用場(chǎng)景如下表。應(yīng)用場(chǎng)景介紹在線旅游目前全球范圍內(nèi)大多數(shù)在線旅游網(wǎng)站都使用了Cloudera公司提供的Hadoop發(fā)行版,在線旅游公司Expedia也在使用Hadoop。在國(guó)內(nèi)目前比較受歡迎的一些旅游網(wǎng)站如攜程、去哪兒網(wǎng)等也采用了大數(shù)據(jù)技術(shù)存儲(chǔ)和計(jì)算移動(dòng)數(shù)據(jù)華為對(duì)Hadoop的HA方案及HBase領(lǐng)域有深入研究,并已經(jīng)向業(yè)界推出了自己的基于Hadoop的大數(shù)據(jù)解決方案電子商務(wù)阿里巴巴的Hadoop集群為淘寶、天貓、一淘、聚劃算、CBU、支付寶提供底層的基礎(chǔ)計(jì)算和存儲(chǔ)服務(wù)能源開采Chevron公司是一家大型石油公司,該公司利用Hadoop進(jìn)行數(shù)據(jù)的收集和處理,數(shù)據(jù)主要指海洋的地震數(shù)據(jù),以便于找到油礦的位置Hadoop的應(yīng)用場(chǎng)景應(yīng)用場(chǎng)景介紹圖像處理SkyboxImaging創(chuàng)業(yè)公司使用Hadoop存儲(chǔ)并處理圖片數(shù)據(jù),從衛(wèi)星拍攝的高清圖像中探測(cè)地理變化。自2008年4月起,CbIR(Content-basedInformationRetrieval)公司在亞馬遜的AmazonEC2上使用Hadoop構(gòu)建圖像處理環(huán)境,用于圖像產(chǎn)品推薦系統(tǒng)詐騙檢測(cè)一般金融服務(wù)或政府機(jī)構(gòu)會(huì)使用Hadoop存儲(chǔ)大部分的客戶交易數(shù)據(jù),包括一些非結(jié)構(gòu)化的數(shù)據(jù),能夠幫助機(jī)構(gòu)發(fā)現(xiàn)客戶的異常活動(dòng),預(yù)防欺詐行為。國(guó)內(nèi)支付寶、微信錢包作為龐大的互聯(lián)網(wǎng)支付平臺(tái),詐騙、黑客、病毒的防護(hù)十分重要,為了線上資金的安全,阿里巴巴和騰訊在大數(shù)據(jù)技術(shù)檢測(cè)方面的技術(shù)日臻成熟IT安全除企業(yè)IT基礎(chǔ)機(jī)構(gòu)的管理外,Hadoop還可以用于處理機(jī)器生成的數(shù)據(jù)以便識(shí)別出來(lái)自惡意軟件或網(wǎng)絡(luò)中的攻擊。國(guó)內(nèi)奇虎360安全軟件在應(yīng)用方面也使用Hadoop的HBase組件進(jìn)行數(shù)據(jù)存儲(chǔ),縮短異?;謴?fù)的時(shí)間Hadoop的應(yīng)用場(chǎng)景應(yīng)用場(chǎng)景介紹醫(yī)療保健醫(yī)療行業(yè)可以使用到Hadoop,如IBMWatson技術(shù)平臺(tái)則使用Hadoop集群作為一些分析服務(wù)的基礎(chǔ),如語(yǔ)義分析等高級(jí)分析技術(shù)。醫(yī)療機(jī)構(gòu)可以利用語(yǔ)義分析為患者提供醫(yī)護(hù)人員,并協(xié)助醫(yī)生更好地為患者進(jìn)行診斷搜索引擎搜索引擎無(wú)疑會(huì)產(chǎn)生大規(guī)模的數(shù)據(jù),在對(duì)海量數(shù)據(jù)挖掘上使用Hadoop確實(shí)能提高效率。在國(guó)外,雅虎的Hadoop應(yīng)用中包括了搜索引擎,國(guó)內(nèi)的百度和阿里巴巴也將Hadoop應(yīng)用至搜索引擎、推薦、數(shù)據(jù)分析等多個(gè)領(lǐng)域社交平臺(tái)目前網(wǎng)絡(luò)社交已經(jīng)成為人們?nèi)粘I畹囊徊糠?,網(wǎng)絡(luò)社交平臺(tái)每天產(chǎn)生的數(shù)據(jù)量十分龐大。騰訊和臉書作為國(guó)內(nèi)外的大型社交平臺(tái),在數(shù)據(jù)庫(kù)存儲(chǔ)方面均利用了Hadoop生態(tài)系統(tǒng)中的Hive組件進(jìn)行數(shù)據(jù)存儲(chǔ)和處理Hadoop大數(shù)據(jù)框架Hive數(shù)據(jù)倉(cāng)庫(kù)工具Spark分布式計(jì)算框架Hive數(shù)據(jù)倉(cāng)庫(kù)工具Hive是基于Hadoop生態(tài)系統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)和分析工具,能較好地滿足大規(guī)模數(shù)據(jù)的存儲(chǔ)與處理。本節(jié)將介紹Hive的簡(jiǎn)介、Hive的特點(diǎn)及應(yīng)用場(chǎng)景,并介紹Hive數(shù)據(jù)庫(kù)與關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別等。Hive簡(jiǎn)介Hive最初是由Facebook設(shè)計(jì),是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,可以用來(lái)存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù),并提供簡(jiǎn)單的類SQL查詢語(yǔ)言HiveQueryLanguage(簡(jiǎn)稱HiveQL、HQL),主要用于對(duì)大規(guī)模數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)化、加載(Extract-Transform-Load,ETL)。使用簡(jiǎn)單的HQL語(yǔ)言可將數(shù)據(jù)操作轉(zhuǎn)換為復(fù)雜的MapReduce運(yùn)行在Hadoop大數(shù)據(jù)平臺(tái)上。Hive允許熟悉SQL的用戶基于Hadoop框架進(jìn)行數(shù)據(jù)分析,優(yōu)點(diǎn)是學(xué)習(xí)成本低,對(duì)于簡(jiǎn)單的統(tǒng)計(jì)分析,不必開發(fā)專門的MapReduce程序,直接通過HQL即可實(shí)現(xiàn)。Hive簡(jiǎn)介Hive是一款分析歷史數(shù)據(jù)的利器,但是Hive只有在結(jié)構(gòu)化數(shù)據(jù)的情況下才能大顯神威。Hive不支持聯(lián)機(jī)事務(wù)處理(OnlineTransactionProcessing,OLTP),也不提供實(shí)時(shí)查詢功能,即Hive處理有延遲性。Hive的特點(diǎn)Hive的特點(diǎn)可分為優(yōu)點(diǎn)與缺點(diǎn)。Hive的優(yōu)點(diǎn)如下表。優(yōu)點(diǎn)說明可擴(kuò)展性Hive可以自由的擴(kuò)展集群的規(guī)模,一般情況下不需要重啟服務(wù)延展性Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求實(shí)現(xiàn)自己的函數(shù)良好的容錯(cuò)性Hive有良好的容錯(cuò)性,節(jié)點(diǎn)出現(xiàn)問題時(shí)SQL仍可完成執(zhí)行更友好的接口Hive的操作接口采用類SQL語(yǔ)法,提供快速開發(fā)的能力更低的學(xué)習(xí)成本Hive避免了MapReduce程序的編寫,減少開發(fā)人員的學(xué)習(xí)成本Hive的特點(diǎn)Hive的缺點(diǎn)主要有如下兩方面。Hive的HQL表達(dá)能力有限。迭代式算法無(wú)法表達(dá);不擅長(zhǎng)數(shù)據(jù)挖掘。Hive的效率較低。Hive自動(dòng)生成的MapReduce作業(yè),通常情況下不夠智能化;Hive調(diào)優(yōu)比較困難,粒度較粗。Hive的應(yīng)用場(chǎng)景Hive不適用于復(fù)雜的機(jī)器學(xué)習(xí)算法,復(fù)雜的科學(xué)計(jì)算等場(chǎng)景。同時(shí),Hive雖然是針對(duì)批量長(zhǎng)時(shí)間數(shù)據(jù)分析設(shè)計(jì)的,但是Hive并不能做到交互式地實(shí)時(shí)查詢。Hive目前主要應(yīng)用在日志分析、多維度數(shù)據(jù)分析、海量結(jié)構(gòu)化數(shù)據(jù)離線分析等方面。Hive的應(yīng)用場(chǎng)景1.日志分析大部分互聯(lián)網(wǎng)公司使用Hive進(jìn)行日志分析。網(wǎng)頁(yè)日志中包含大量人們(主要是產(chǎn)品分析人員)感興趣的信息,通過Hive,可以從這些信息中獲取網(wǎng)站每類頁(yè)面的PV值(PageView,頁(yè)面訪問量)、獨(dú)立IP數(shù)(即去重之后的IP數(shù)量)等;也可以計(jì)算得出用戶所檢索的關(guān)鍵詞排行榜、用戶停留時(shí)間最高的頁(yè)面等;還可以分析用戶行為特征等。Hive的應(yīng)用場(chǎng)景2.多維度數(shù)據(jù)分析通過HQL語(yǔ)句,可以按照多個(gè)維度(即多個(gè)角度)對(duì)數(shù)據(jù)進(jìn)行觀察和分析。多維的分析操作是指通過對(duì)多維形式組織起來(lái)的數(shù)據(jù)進(jìn)行切片、切塊、聚合、鉆取、旋轉(zhuǎn)等分析操作,以求剖析數(shù)據(jù),使用戶能夠從多種維度和不同角度查看數(shù)據(jù),從而深入地了解包含在數(shù)據(jù)中的信息和規(guī)律。Hive的應(yīng)用場(chǎng)景3.海量結(jié)構(gòu)化數(shù)據(jù)離線分析高度組織和整齊格式化的數(shù)據(jù)被稱為結(jié)構(gòu)化數(shù)據(jù)。Hive可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,然后通過HQL語(yǔ)句進(jìn)行查詢分析。因?yàn)镠ive的執(zhí)行延遲比較高,所以Hive更適合處理大數(shù)據(jù),對(duì)于處理小數(shù)據(jù)則沒有優(yōu)勢(shì);而且HQL語(yǔ)句最終會(huì)轉(zhuǎn)換成MapReduce任務(wù)執(zhí)行,所以Hive更適用于對(duì)實(shí)時(shí)性要求不高的離線分析場(chǎng)景,而不適用于實(shí)時(shí)計(jì)算的場(chǎng)景。Hive與關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別Hive在很多方面和基于關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)(RMDBS,簡(jiǎn)稱關(guān)系型數(shù)據(jù)庫(kù))類似,如Hive支持SQL接口。由于其他底層設(shè)計(jì)的原因,Hive對(duì)HDFS和MapReduce有很強(qiáng)的依賴,意味著Hive的體系結(jié)構(gòu)和關(guān)系型數(shù)據(jù)庫(kù)有很大的區(qū)別,該區(qū)別又間接地影響到Hive所支持的一些特性。在關(guān)系型數(shù)據(jù)庫(kù)中,表的模式是在數(shù)據(jù)加載時(shí)強(qiáng)行確定好的,如果在加載時(shí)發(fā)現(xiàn)數(shù)據(jù)不符合模式,那么關(guān)系型數(shù)據(jù)庫(kù)會(huì)拒絕加載該數(shù)據(jù)。Hive在加載的過程中不對(duì)數(shù)據(jù)進(jìn)行任何的驗(yàn)證操作,只是簡(jiǎn)單地將數(shù)據(jù)復(fù)制或移動(dòng)到表對(duì)應(yīng)的目錄下面,因此,關(guān)系型數(shù)據(jù)庫(kù)在數(shù)據(jù)加載的過程中比Hive要慢。關(guān)系型數(shù)據(jù)庫(kù)在數(shù)據(jù)加載過程中可以進(jìn)行一些處理,如對(duì)某一列建立索引等,提升數(shù)據(jù)的查詢性能,而Hive是不支持的。Hive與關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別數(shù)據(jù)庫(kù)的事務(wù)、索引以及更新是關(guān)系型數(shù)據(jù)庫(kù)的重要特性。Hive目前還不支持對(duì)行級(jí)別的數(shù)據(jù)進(jìn)行更新,不支持OLTP。Hive雖然支持建立索引,但是Hive的索引與關(guān)系型數(shù)據(jù)庫(kù)中的索引并不相同,Hive的索引只能建立在表的列上,而不支持主鍵或外鍵。Hive與關(guān)系型數(shù)據(jù)庫(kù)的對(duì)比如下表,其中,對(duì)比項(xiàng)中的“執(zhí)行”指的是將查詢語(yǔ)句轉(zhuǎn)化為實(shí)際的操作和計(jì)算,并獲得結(jié)果的過程。對(duì)比項(xiàng)Hive關(guān)系型數(shù)據(jù)庫(kù)查詢語(yǔ)言HQLSQL數(shù)據(jù)存儲(chǔ)HDFS塊設(shè)備、本地文件系統(tǒng)數(shù)據(jù)更新有限支持支持處理數(shù)據(jù)規(guī)模大小Hive與關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別對(duì)比項(xiàng)Hive關(guān)系型數(shù)據(jù)庫(kù)可擴(kuò)展性高低執(zhí)行MapReduce或Tez查詢計(jì)劃的執(zhí)行引擎執(zhí)行延時(shí)高低模式讀模式讀/寫模式事務(wù)不支持支持Hadoop大數(shù)據(jù)框架Hive數(shù)據(jù)倉(cāng)庫(kù)工具Spark分布式計(jì)算框架Spark分布式計(jì)算框架Spark提供了豐富的API和庫(kù),支持?jǐn)?shù)據(jù)處理、機(jī)器學(xué)習(xí)、圖計(jì)算等多個(gè)領(lǐng)域的應(yīng)用。通過并行計(jì)算和內(nèi)存存儲(chǔ),Spark能夠提供比傳統(tǒng)批處理框架更快的數(shù)據(jù)處理速度,并且具備更好的交互性和易用性。本節(jié)將介紹Spark的簡(jiǎn)介、Spark的發(fā)展歷程、Spark的特點(diǎn)和Spark的生態(tài)系統(tǒng),并對(duì)Spark的應(yīng)用場(chǎng)景進(jìn)行簡(jiǎn)單的介紹。Spark簡(jiǎn)介Spark是一個(gè)快速、通用、可擴(kuò)展的大數(shù)據(jù)處理和分析引擎,采用了內(nèi)存計(jì)算技術(shù),能夠在分布式集群上高效地處理大規(guī)模數(shù)據(jù)和復(fù)雜計(jì)算任務(wù)。Spark最初的設(shè)計(jì)目標(biāo)是提高運(yùn)行速度使數(shù)據(jù)分析更快,并快速簡(jiǎn)便地編寫程序。Spark提供內(nèi)存計(jì)算和基于有向無(wú)環(huán)圖(DirectedAcyclicGraph,DAG)的任務(wù)調(diào)度執(zhí)行機(jī)制,使程序運(yùn)行更快,同時(shí)減少了迭代計(jì)算時(shí)的I/O開銷。Spark使用簡(jiǎn)練、優(yōu)雅的Scala語(yǔ)言編寫而成,使編寫程序更為容易,且Spark基于Scala提供了交互式的編程體驗(yàn)。Spark的發(fā)展歷程Spark的發(fā)展歷程如下圖。Spark的發(fā)展歷程Spark這樣一個(gè)具有相當(dāng)技術(shù)門檻與復(fù)雜度的平臺(tái),從誕生到正式版本的成熟,經(jīng)歷的時(shí)間如此之短,讓人感到驚詫。目前,Spark已經(jīng)成為Apache軟件基金會(huì)旗下的頂級(jí)開源項(xiàng)目。2009年,Spark誕生于伯克利大學(xué)的AMP實(shí)驗(yàn)室,最初屬于伯克利大學(xué)的研究性項(xiàng)目,實(shí)驗(yàn)室的研究人員之前基于HadoopMapReduce工作,發(fā)現(xiàn)了MapReduce對(duì)于迭代和交互式計(jì)算任務(wù)效率不高。因此實(shí)驗(yàn)室研究人員Spark的研究主要為交互式查詢和迭代算法設(shè)計(jì),支持內(nèi)存存儲(chǔ)和高效的容錯(cuò)恢復(fù)。Spark的發(fā)展歷程2010年,Spark正式開源。2013年6月,Spark成為Apache基金會(huì)的孵化器項(xiàng)目。2014年2月,僅僅經(jīng)歷8個(gè)月的時(shí)間,Spark就成為Apache基金會(huì)的頂級(jí)項(xiàng)目。同時(shí),大數(shù)據(jù)公司Cloudera宣稱加大對(duì)Spark框架的投入來(lái)取代MapReduce。2014年5月,PivotalHadoop集成Spark全棧。同月30日,Spark1.0.0發(fā)布。2015年,Spark增加了新的DataFramesAPI和DatasetsAPI。Spark的發(fā)展歷程2016年,Spark2.0發(fā)布。Spark2.0與1.0的區(qū)別主要是,Spark2.0修訂了API的兼容性問題。2017年,在美國(guó)舊金山舉行SparkSummit2017,會(huì)議介紹2017年Spark的重點(diǎn)開發(fā)方向是深度學(xué)習(xí)以及對(duì)流性能的改進(jìn)。2020年,Spark3.0分布。相比Spark2.4,Spark3.0性能提升了2倍,主要體現(xiàn)在自適應(yīng)查詢執(zhí)行、動(dòng)態(tài)分區(qū)修剪等方面;改進(jìn)了Python的相關(guān)問題。2023年,Spark3.5.0發(fā)布。Spark3.5.0是3.x系列的第六個(gè)版本。在開源社區(qū)的重大貢獻(xiàn)下,此版本解決了1300多個(gè)Jira工單,引入了更多SparkConnect正式發(fā)布的場(chǎng)景、新的PySpark和SQL功能等性能優(yōu)化。Spark的特點(diǎn)1.快速分別使用Hadoop和Spark運(yùn)行邏輯回歸算法,兩者的運(yùn)行時(shí)間比較如圖所示,邏輯回歸算法一般需要多次迭代。從圖中可以看出,Spark運(yùn)行邏輯回歸算法的速度是HadoopMapReduce運(yùn)行速度的100多倍。在一般情況下,對(duì)于迭代次數(shù)較多的應(yīng)用程序,Spark程序在內(nèi)存中的運(yùn)行速度是HadoopMapReduce運(yùn)行速度的100多倍,在磁盤上的運(yùn)行速度是HadoopMapReduce運(yùn)行速度的10多倍。Spark的特點(diǎn)2.易用Spark支持使用Scala、Python、Java和R等簡(jiǎn)便的語(yǔ)言快速編寫應(yīng)用,同時(shí)提供超過80個(gè)高級(jí)運(yùn)算符,使得編寫并行應(yīng)用程序變得更加容易,并且可以在Scala、Python或R的交互模式下使用Spark。Spark的特點(diǎn)3.通用Spark可以與SQL、Streaming及其他復(fù)雜的分析很好地結(jié)合在一起。Spark還有一系列的高級(jí)組件,包括SparkSQL(分布式查詢)、SparkStreaming(實(shí)時(shí)計(jì)算)、MLlib(機(jī)器學(xué)習(xí)庫(kù))和GraphX(圖計(jì)算),并且支持在一個(gè)應(yīng)用中同時(shí)使用這些組件,如下圖。Spark的特點(diǎn)4.隨處運(yùn)行用戶可以使用Spark的獨(dú)立集群模式運(yùn)行Spark,并從HDFS、Cassandra、HBase、Hive、Tachyon和任何分布式文件系統(tǒng)讀取數(shù)據(jù),也可以在EC2(亞馬遜彈性計(jì)算云)、HadoopYARN或ApacheMesos上運(yùn)行Spark。Spark的特點(diǎn)5.代碼簡(jiǎn)潔Spark支持使用Scala、Python等語(yǔ)言編寫。Scala或Python的代碼相對(duì)Java更為簡(jiǎn)潔,因此Spark使用Scala或Python編寫應(yīng)用程序要比使用MapReduce編寫應(yīng)用程序更加簡(jiǎn)單方便。Spark生態(tài)系統(tǒng)發(fā)展到現(xiàn)在,ApacheSpark已經(jīng)形成了一個(gè)豐富的生態(tài)系統(tǒng),包括官方和第三方開發(fā)的組件或工具。Spark生態(tài)圈如下圖。Spark生態(tài)圈也稱為BDAS(伯克利數(shù)據(jù)分析棧),可以在算法(Algorithms)、機(jī)器(Machines)、人(People)之間通過大規(guī)模集成展現(xiàn)大數(shù)據(jù)應(yīng)用的一個(gè)平臺(tái)。Spark生態(tài)圈以SparkCore為核心,可以從HDFS、AmazonS3和HBase等持久層獲取數(shù)據(jù),利用Mesos、YARN或自身攜帶的獨(dú)立運(yùn)行模式為資源管理器來(lái)調(diào)度Job完成Spark應(yīng)用程序的計(jì)算,應(yīng)用程序可以來(lái)自不同的組件。如SparkShell/SparkSubmit的批處理、SparkStreaming的實(shí)時(shí)處理應(yīng)用、SparkSQL的即席查詢、BlinkDB的權(quán)衡查詢、MLlib的機(jī)器學(xué)習(xí)、GraphX的圖處理和SparkR的數(shù)學(xué)計(jì)算等。Spark生態(tài)系統(tǒng)Spark生態(tài)系統(tǒng)Spark生態(tài)圈中的重要組件簡(jiǎn)單描述如下表。組件說明SparkCoreSpark核心,對(duì)底層的框架及核心提供支持BlinkDB一個(gè)用于在海量數(shù)據(jù)上運(yùn)行交互式SQL查詢的大規(guī)模并行查詢引擎,BlinkDB允許用戶通過權(quán)衡數(shù)據(jù)精度提升查詢響應(yīng)時(shí)間,其數(shù)據(jù)的精度被控制在允許的誤差范圍內(nèi)SparkSQL可以執(zhí)行SQL查詢,包括基本的SQL語(yǔ)法和HQL語(yǔ)法。讀取的數(shù)據(jù)源包括Hive表、Parquent文件、JSON數(shù)據(jù)、關(guān)系數(shù)據(jù)庫(kù)(如MySQL)等SparkStreaming流式計(jì)算。例如,一個(gè)網(wǎng)站的流量是每時(shí)每刻都在發(fā)生的,如果需要知道過去15分鐘或一個(gè)小時(shí)的流量,則可以使用SparkStreaming解決這個(gè)問題Spark生態(tài)系統(tǒng)組件說明MLlibMLlib是Spark的數(shù)據(jù)挖掘算法包,對(duì)一些常見的機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)了并行化,包括分類、聚類、回歸、協(xié)同過濾、降維以及底層優(yōu)化GraphX圖計(jì)算的應(yīng)用在很多情況下處理的都是大規(guī)模數(shù)據(jù),在移動(dòng)社交上面的關(guān)系等都可以使用圖相關(guān)算法進(jìn)行處理和挖掘。如果用戶要自行編寫相關(guān)的圖計(jì)算算法,并且要在集群中應(yīng)用,那么難度是非常大的,而使用SparkGraphX就可以解決該問題,GraphX里面內(nèi)置了很多圖相關(guān)算法SparkRAMP實(shí)驗(yàn)室發(fā)布的一個(gè)R開發(fā)包,使得R可以擺脫單機(jī)運(yùn)行,并作為Spark的Job運(yùn)行在集群上,極大地?cái)U(kuò)展了R的數(shù)據(jù)處理能力Spark的應(yīng)用場(chǎng)景目前大數(shù)據(jù)的應(yīng)用非常廣泛,大數(shù)據(jù)應(yīng)用場(chǎng)景的普遍特點(diǎn)是數(shù)據(jù)計(jì)算量大、效率高。而Spark計(jì)算框架剛好可以滿足這些計(jì)算要求,Spark項(xiàng)目一經(jīng)推出后便受到開源社區(qū)的廣泛關(guān)注和好評(píng)。目前,Spark已發(fā)展成為大數(shù)據(jù)處理領(lǐng)域最炙手可熱的開源項(xiàng)目之一。在實(shí)際的生活中,使用到Spark的場(chǎng)景包括但不限于智慧環(huán)保、高速公路流量預(yù)測(cè)、水稻產(chǎn)量預(yù)測(cè)。Spark的應(yīng)用場(chǎng)景1.智慧環(huán)保保護(hù)大自然是人類生存和發(fā)展的基本前提和責(zé)任。綠水青山就是金山銀山的理念要深入人心,實(shí)現(xiàn)人與自然的和諧共生。在推進(jìn)智慧環(huán)保方面,借助HDFS、YARN、Spark和SparkStreaming,可建立一個(gè)流式數(shù)據(jù)與批量數(shù)據(jù)分析平臺(tái),能夠?qū)崿F(xiàn)對(duì)區(qū)域空氣PM2.5污染的24小時(shí)預(yù)報(bào),借此更好地了解環(huán)境污染的來(lái)源和趨勢(shì),采取相應(yīng)的措施減少污染物排放,實(shí)現(xiàn)綠色可持續(xù)發(fā)展。Spark的應(yīng)用場(chǎng)景2.高速公路流量預(yù)測(cè)隨著國(guó)民經(jīng)濟(jì)的發(fā)展,截至2022年底,我國(guó)機(jī)動(dòng)車保有量達(dá)4.17億輛。急速增長(zhǎng)的車流量導(dǎo)致高速路網(wǎng)運(yùn)行能力下降、交通事故高發(fā)、城市環(huán)境污染加劇、交通運(yùn)營(yíng)管理困難。通過利用Spark的BO-XGBoost預(yù)測(cè)模型,可實(shí)現(xiàn)高速公路流量預(yù)測(cè),并且預(yù)測(cè)精度不僅高,同時(shí)預(yù)測(cè)的計(jì)算效率也好,助力建成世界最大的高速鐵路網(wǎng)、高速公路網(wǎng),加快建設(shè)交通強(qiáng)國(guó)。Spark的應(yīng)用場(chǎng)景3.水稻產(chǎn)量預(yù)測(cè)中國(guó)是一個(gè)農(nóng)業(yè)大國(guó),谷物總產(chǎn)量穩(wěn)居世界首位,水稻是重要的糧食作物,全球約一半的人口以稻米作為主食,水稻的產(chǎn)量問題一直備受關(guān)注,水稻產(chǎn)量預(yù)測(cè)也成為當(dāng)前水稻生產(chǎn)中的一個(gè)重要研究方向?;赟park框架,使用鯨魚優(yōu)化算法-反向傳播神經(jīng)網(wǎng)絡(luò)(Whaleoptimizationalgorithm-backpropagation,WOA-BP)算法,能夠較好地預(yù)測(cè)出廣東西部縣/市/區(qū)的水稻產(chǎn)量,同時(shí)可以很好地反映氣象因素對(duì)廣東省西部地區(qū)水稻產(chǎn)量的影響情況,對(duì)研究廣東西部縣/市/區(qū)乃至整個(gè)廣東的水稻產(chǎn)量情況具有一定的參考價(jià)值。Spark大數(shù)據(jù)環(huán)境安裝搭建項(xiàng)目實(shí)施安裝搭建Hadoop集群安裝搭建Hive安裝搭建Spark集群安裝搭建Hadoop集群Hadoop的安裝搭建方式有3種,如下表。方式說明單機(jī)模式Hadoop默認(rèn)模式為非分布式模式(本地模式),無(wú)須進(jìn)行其他配置即可運(yùn)行。訪問的是本地磁盤,而不是HDFS偽分布式模式Hadoop可以在單節(jié)點(diǎn)上以偽分布式的方式運(yùn)行,節(jié)點(diǎn)既作為NameNode也作為DataNode,同時(shí),讀取的是HDFS中的文件完全分布式模式使用多個(gè)節(jié)點(diǎn)構(gòu)成集群環(huán)境來(lái)運(yùn)行Hadoop安裝搭建Hadoop集群為貼近真實(shí)的生產(chǎn)環(huán)境,建議搭建完全分布式模式的Hadoop集群環(huán)境。因此,本章將介紹在個(gè)人計(jì)算機(jī)上安裝配置虛擬機(jī),在虛擬機(jī)中搭建Hadoop完全分布式環(huán)境的完整過程。為了保證能夠順暢地運(yùn)行Hadoop集群,并能夠進(jìn)行基本的大數(shù)據(jù)開發(fā)調(diào)試,建議個(gè)人計(jì)算機(jī)硬件的配置如下。內(nèi)存至少8GB。硬盤可用容量至少100GB。CPU為Inteli5以上的多核(建議八核及以上)處理器。安裝搭建Hadoop集群在搭建Hadoop完全分布式集群前,需提前準(zhǔn)備好必要的軟件安裝包。軟件安裝包及其版本說明如下表。軟件版本安裝包名稱備注LinuxOSCentOS7.8CentOS-7-x86_64-DVD-2003.iso64位JDK1.8+jdk-8u281-linux-x64.rpm64位VMware16VMware-workstation-full-16.1.0-17198959.exe虛擬機(jī)軟件Hadoop3.1.4hadoop-3.1.4.tar.gz已編譯好的安裝包SSH連接工具7Xftp-7.0.0111p.exe、Xshell-7.0.0113p.exe遠(yuǎn)程連接虛擬機(jī)安裝搭建Hadoop集群Hadoop完全分布式集群是主從架構(gòu),一般需要使用多臺(tái)服務(wù)器組建。本書中使用的Hadoop集群拓?fù)浣Y(jié)構(gòu)如下圖。需注意各個(gè)服務(wù)器的IP與名稱,在后續(xù)的集群配置過程中將會(huì)經(jīng)常被使用。創(chuàng)建Linux虛擬機(jī)VMwareWorkstation(簡(jiǎn)稱VMware)是一款功能強(qiáng)大的虛擬機(jī)軟件,在不影響本機(jī)操作系統(tǒng)的情況下,用戶可以在虛擬機(jī)中同時(shí)運(yùn)行不同版本的操作系統(tǒng)。從VMware官網(wǎng)中下載VMware安裝包,安裝包名稱為VMware-workstation-full-16.1.0-17198959.exe。安裝VMwareWorkstation的過程比較簡(jiǎn)單,雙擊下載的VMware安裝包,選擇安裝的目錄,再單擊“下一步”按鈕,繼續(xù)安裝,之后輸入產(chǎn)品序列號(hào),即可成功安裝VMware軟件。創(chuàng)建Linux虛擬機(jī)打開VMware軟件,在VMware上安裝CentOS7.8版本的Linux操作系統(tǒng),基本流程如下圖。創(chuàng)建Linux虛擬機(jī)創(chuàng)建Linux虛擬機(jī)具體安裝步驟如下。創(chuàng)建新的虛擬機(jī)。打開安裝好的VMware軟件,進(jìn)入VMware主界面,選擇“創(chuàng)建新的虛擬機(jī)”選項(xiàng),如下圖。創(chuàng)建Linux虛擬機(jī)選擇虛擬機(jī)的配置類型。彈出“新建虛擬機(jī)向?qū)А睂?duì)話框,選擇“典型”模式,如右圖,再單擊“下一步”按鈕。創(chuàng)建Linux虛擬機(jī)選擇安裝客戶機(jī)操作系統(tǒng)的來(lái)源。安裝客戶機(jī)操作系統(tǒng),選擇“稍后安裝操作系統(tǒng)”按鈕,如右圖,單擊“下一步”按鈕。創(chuàng)建Linux虛擬機(jī)選擇客戶機(jī)操作系統(tǒng)??蛻魴C(jī)操作系統(tǒng),選擇“Linux”按鈕,版本是CentOS764位,如右圖,選擇好之后直接單擊“下一步”按鈕。創(chuàng)建Linux虛擬機(jī)命名虛擬機(jī)并選擇位置。虛擬機(jī)的名稱命名為“master”。在D盤創(chuàng)建一個(gè)以VMware命名的文件夾,并在該文件夾下建立一個(gè)文件命名為master。本文選擇的安裝位置為“D:\VMware\master”,如右圖,單擊“下一步”按鈕。注意,虛擬機(jī)的位置讀者可根據(jù)個(gè)人計(jì)算機(jī)的硬盤資源情況進(jìn)行調(diào)整。創(chuàng)建Linux虛擬機(jī)指定磁盤容量。指定最大磁盤大小為20GB,選擇“將虛擬磁盤拆分成多個(gè)文件”按鈕,單擊“下一步”按鈕,如右圖。創(chuàng)建Linux虛擬機(jī)準(zhǔn)備創(chuàng)建虛擬機(jī)。單擊“自定義硬件”按鈕,如右圖。創(chuàng)建Linux虛擬機(jī)選擇鏡像文件。進(jìn)入“硬件”對(duì)話框,單擊“新CD/DVD(IDE)”選項(xiàng)所在的行,在右側(cè)的“連接”組中選擇“使用ISO映像文件”按鈕,并單擊“瀏覽…”按鈕,指定CentOS-7-x86_64-DVD-2003.iso鏡像文件的位置,如右圖,最后單擊“關(guān)閉”按鈕,返回上圖所示界面,單擊“完成”按鈕。創(chuàng)建Linux虛擬機(jī)啟動(dòng)虛擬機(jī)。打開虛擬機(jī),選擇虛擬機(jī)“master”,單擊“開啟此虛擬機(jī)”選項(xiàng),如下圖。創(chuàng)建Linux虛擬機(jī)安裝CentOS7。開啟虛擬機(jī)后,將出現(xiàn)CentOS7的安裝界面,選擇“InstallCentOS7”選項(xiàng),如下圖。創(chuàng)建Linux虛擬機(jī)選擇系統(tǒng)語(yǔ)言。進(jìn)入語(yǔ)言選擇頁(yè)面,左側(cè)列表框選擇“English”選項(xiàng),右側(cè)列表框選擇“English(UnitedStates)”選項(xiàng),單擊“Continue”按鈕。選擇地區(qū)和時(shí)區(qū)。單擊“LOCALIZATION”組中的“DATE&TIME”選項(xiàng),如下左圖。進(jìn)入地區(qū)和時(shí)間選擇界面,選擇“Asia”和“Shanghai”,如下右圖,完成后單擊“Done”按鈕。創(chuàng)建Linux虛擬機(jī)選擇磁盤分區(qū)。單擊“SYSTEM”組中的“INSTALLATIONDESTINATION”選項(xiàng),如下左圖。進(jìn)入分區(qū)配置界面,默認(rèn)選擇自動(dòng)分盤,不需要改變,如下右圖,單擊“Done”按鈕即可。創(chuàng)建Linux虛擬機(jī)開始安裝系統(tǒng)。完成以上設(shè)置后,返回圖218所示的界面,單擊“BeginInstallation”按鈕,如下圖。創(chuàng)建Linux虛擬機(jī)配置root密碼。進(jìn)入root密碼設(shè)置界面,單擊“USERSETTINGS”組中的“ROOTPASSWORD”選項(xiàng),如下左圖。設(shè)置密碼為123456,需要輸入兩次,如下右圖,設(shè)置完畢后單擊“Done”按鈕,因?yàn)槊艽a過于簡(jiǎn)單,所以需要連續(xù)單擊兩次。創(chuàng)建Linux虛擬機(jī)重啟虛擬機(jī)。安裝完成,單擊“Reboot”按鈕,重啟虛擬機(jī),如下圖。創(chuàng)建Linux虛擬機(jī)登錄Linux系統(tǒng)。進(jìn)入Linux系統(tǒng),輸入用戶名“root”以及密碼“123456”,如下圖,如果出現(xiàn)“[root@master~]#”的提示,那么表示成功登錄并進(jìn)入了Linux系統(tǒng)。設(shè)置固定IP本書使用的Hadoop集群為完全分布式集群,有3個(gè)節(jié)點(diǎn),因此需要安裝3臺(tái)虛擬機(jī)。每臺(tái)虛擬機(jī)均使用NAT模式接入網(wǎng)絡(luò),需要為每臺(tái)虛擬機(jī)分配IP,并保證每臺(tái)虛擬機(jī)的IP處于同一子網(wǎng)內(nèi)。為每臺(tái)虛擬機(jī)配置固定IP,以虛擬機(jī)master為例,虛擬機(jī)固定IP的基本流程如下圖。設(shè)置固定IP在VMware軟件中進(jìn)行虛擬機(jī)固定IP的步驟,具體操作步驟如下。重啟網(wǎng)卡服務(wù)。使用“servicenetworkrestart”命令重啟網(wǎng)卡服務(wù),如下圖。設(shè)置固定IP查看/etc/sysconfig/network-scripts/ifcfg-ens33配置文件的內(nèi)容。不同于Windows系統(tǒng)采用菜單方式修改網(wǎng)絡(luò)配置,Linux系統(tǒng)的網(wǎng)絡(luò)配置參數(shù)是寫在配置文件里的,ifcfg-ens33是CentOS7.8版本的Linux系統(tǒng)中的網(wǎng)絡(luò)配置文件,可以設(shè)置IP地址、子網(wǎng)掩碼等網(wǎng)絡(luò)配置信息。使用“vi/etc/sysconfig/network-scripts/ifcfg-ens33”命令,打開ifcfg-ens33文件。設(shè)置固定IP修改/etc/sysconfig/network-scripts/ifcfg-ens33配置文件。單擊“I”鍵進(jìn)入編輯模式,將該文件中ONBOOT的值修改為“yes”,將BOOTPROTO的值修改為“static”,并添加IP地址IPADDR、子網(wǎng)掩碼NETMASK、網(wǎng)關(guān)GATEWAY以及域名解析服務(wù)器DNS1的網(wǎng)絡(luò)配置信息,單擊“Esc”鍵,輸入“:wq”命令,單擊“Enter”鍵保存文件并退出。設(shè)置固定IP重啟網(wǎng)卡服務(wù)并查看IP。使用“servicenetworkrestart”命令再次重啟網(wǎng)卡服務(wù),并使用“ipaddr”命令查看IP,結(jié)果如下圖。從下圖中可以看出,IP地址已經(jīng)設(shè)置為30,說明該虛擬機(jī)的IP地址固定已設(shè)置成功。遠(yuǎn)程連接虛擬機(jī)在VMware軟件中操作Linux系統(tǒng)十分麻煩,如無(wú)法進(jìn)行命令的復(fù)制和粘貼,因此推薦使用Xmanager工具通過遠(yuǎn)程連接的方式操作Linux系統(tǒng)。Xmanager是應(yīng)用于Windows系統(tǒng)的Xserver服務(wù)器軟件。通過Xmanager,用戶可以將遠(yuǎn)程的Linux桌面無(wú)縫導(dǎo)入Windows系統(tǒng)中。在Linux和Windows網(wǎng)絡(luò)環(huán)境中,Xmanager是非常合適的系統(tǒng)連通解決方案之一。在Xmanager官網(wǎng),選擇“所有下載”選項(xiàng)卡下的“家庭/學(xué)校免費(fèi)”選項(xiàng)下載Xshell、Xftp安裝包,安裝包名稱分別為Xshell-7.0.0113p.exe、Xftp-7.0.0111p.exe。下載安裝包后,雙擊Xshell-7.0.0113p.exe、Xftp-7.0.0111p.exe,按照系統(tǒng)提示即可完成Xshell、Xftp的安裝。遠(yuǎn)程連接虛擬機(jī)使用Xshell、Xftp遠(yuǎn)程連接Linux系統(tǒng)的方式一樣,此處以Xshell為例,通過Xshell遠(yuǎn)程連接Linux系統(tǒng)基本流程如下圖。遠(yuǎn)程連接虛擬機(jī)遠(yuǎn)程連接虛擬機(jī)的操作步驟如下。打開虛擬網(wǎng)絡(luò)編輯器。使用Xshell連接虛擬機(jī)前,需要先設(shè)置VMwareWorkstation的虛擬網(wǎng)絡(luò)。在VMware的“編輯”菜單中單擊“虛擬網(wǎng)絡(luò)編輯器”選項(xiàng),如下圖。遠(yuǎn)程連接虛擬機(jī)修改子網(wǎng)IP。進(jìn)入“虛擬網(wǎng)絡(luò)編輯器”對(duì)話框后,需要管理員權(quán)限才能修改網(wǎng)絡(luò)配置。如果沒有管理員權(quán)限,那么單擊“更改設(shè)置”按鈕,授予管理員權(quán)限即可。選擇“VMnet8”選項(xiàng)所在行,再將“子網(wǎng)IP”修改為“”,如右圖,單擊“確定”按鈕關(guān)閉該對(duì)話框。遠(yuǎn)程連接虛擬機(jī)打開Xshell。設(shè)置VMware的虛擬網(wǎng)絡(luò)后,即可開始使用Xshell工具遠(yuǎn)程連接虛擬機(jī)。在個(gè)人計(jì)算機(jī)的開始菜單找到程序圖標(biāo)Xshell7,如下圖,雙擊打開Xshell。遠(yuǎn)程連接虛擬機(jī)新建會(huì)話。單擊“文件”菜單,在出現(xiàn)的菜單欄中選擇“新建…”選項(xiàng),建立會(huì)話,如下圖。遠(yuǎn)程連接虛擬機(jī)配置新建會(huì)話。在彈出的“新建會(huì)話屬性”對(duì)話框中,在“常規(guī)”組的“名稱”對(duì)應(yīng)的文本框中輸入“master”。該會(huì)話名稱是由用戶自行指定的,建議與要連接的虛擬機(jī)服務(wù)器名稱保持一致?!爸鳈C(jī)”對(duì)應(yīng)的文本框中輸入“30”,表示master虛擬機(jī)的IP地址,其中“端口號(hào)”選項(xiàng)默認(rèn)設(shè)置為“22”,如右圖。遠(yuǎn)程連接虛擬機(jī)再單擊左側(cè)的“用戶身份驗(yàn)證”選項(xiàng),在右側(cè)輸入用戶名“root”和密碼“123456”,其中“方法”選項(xiàng)默認(rèn)勾選“Password”,如右圖,單擊“確定”按鈕,創(chuàng)建會(huì)話完成。遠(yuǎn)程連接虛擬機(jī)連接虛擬機(jī)。在Xshell頁(yè)面中的“會(huì)話管理器”窗口,雙擊會(huì)話“master”,將彈出SSH安全警告,如右圖,單擊“接受并保存”按鈕即可成功連接master虛擬機(jī)。后續(xù)操作,如無(wú)特別說明,均是在Xshell或Xftp上進(jìn)行。配置本地yum源及安裝常用軟件yum源安裝軟件包方法可以徹底解決RPM安裝軟件包時(shí)的包關(guān)聯(lián)與依賴問題。yum是杜克大學(xué)為了提高RPM軟件包的安裝性而開發(fā)的一個(gè)軟件包管理器,能夠在線從指定的服務(wù)器中自動(dòng)下載RPM包并且安裝,可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無(wú)須煩瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡(jiǎn)潔、易記。配置本地yum源及安裝常用軟件yum命令的語(yǔ)法參數(shù)說明如下表。參數(shù)說明[options]可選參數(shù),用于配置yum的行為,具體可使用“yum--help”命令進(jìn)行查看[command]可選參數(shù),指定用戶想要執(zhí)行的操作,如“install”安裝一個(gè)或多個(gè)軟件包[package...]可選參數(shù),指定用戶想要執(zhí)行操作的軟件包。如果用戶沒有指定軟件包,yum會(huì)對(duì)所有可用的軟件包執(zhí)行指定的操作配置本地yum源及安裝常用軟件配置本地yum源的基本流程如下圖。配置本地yum源及安裝常用軟件進(jìn)入yum源的配置文件夾。使用“cd/etc/yum.repos.d”命令,進(jìn)入/etc/yum.repos.d目錄。查看yum源并禁用部分yum源的操作如下。查看yum源。使用“l(fā)l”命令查看yum.repos.d目錄下的文件,如圖239所示,發(fā)現(xiàn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論