簡(jiǎn)單之極,搭建屬于自己的Data Mining環(huán)境(Spark版本)

  • 前言:工欲善其事,必先利其器。倘若不懂得構(gòu)建一套大數(shù)據(jù)挖掘環(huán)境,何來(lái)談Data Mining!何來(lái)領(lǐng)悟“Data Mining Engineer”中的工程二字!也僅僅是在做數(shù)據(jù)分析相關(guān)的事罷了!
...

插曲:封筆約138天,一方面是由于換了方向,跳到了互金行業(yè),有調(diào)整期。一方面是途中體驗(yàn)了下在線直播,嘗嘗鮮。但的確難忍想寫(xiě)點(diǎn)文字的癮,說(shuō)出來(lái)連自個(gè)都不信,反正我今天要解癮了,不過(guò)也是為了拉個(gè)票。

  • 說(shuō)明:這篇文章,我給101分。除非某些讀者壓根沒(méi)想踏進(jìn)大數(shù)據(jù)領(lǐng)域,再或者僅僅是做一些運(yùn)營(yíng)上的數(shù)據(jù)分析,這樣的話,直接點(diǎn)下鏈接,幫我投個(gè)票就去玩兒吧,投票地址,選擇3號(hào)。相反,倘若是致力于在大數(shù)據(jù)領(lǐng)域做數(shù)據(jù)挖掘工程師,服務(wù)于線上數(shù)據(jù)產(chǎn)品的有志青年。咋們太有猿糞了。此文來(lái)自于筆者在實(shí)踐項(xiàng)目開(kāi)發(fā)中的記錄,真心希望日后成為所有進(jìn)入大數(shù)據(jù)領(lǐng)域挖掘工程師們的良心參考資料。(多的這一分,還是情懷),下面是它的一些說(shuō)明:
    • 它是部署在Windows環(huán)境,在項(xiàng)目的實(shí)踐開(kāi)發(fā)過(guò)程中,你將通過(guò)它去完成與集群的交互,測(cè)試和發(fā)布;
    • 你可以部署成使用MapReduce框架,而本文主要優(yōu)先采用Spark版本;
    • 于你而言,它更多意義在于提高你在個(gè)人主機(jī)上進(jìn)行業(yè)務(wù)場(chǎng)景建模的效率,方便你對(duì)算法模型進(jìn)行測(cè)試和優(yōu)化,以及打包、提交任務(wù)。
    • 于我而言,網(wǎng)絡(luò)上各種魚(yú)龍混雜的資料,一方面是內(nèi)容誤導(dǎo)新人,更缺乏資源整合,一方面僅僅是搬運(yùn)工,缺乏實(shí)踐項(xiàng)目中的開(kāi)發(fā)經(jīng)驗(yàn),有頭無(wú)尾。這更是這篇文章的初衷。

鋪墊:數(shù)據(jù)挖掘工程師是一個(gè)公司編制為數(shù)不多的崗位(你也許懂~)。對(duì)于新人,如果它是你的目標(biāo),你需要真正理解“挖掘”和“工程”的關(guān)聯(lián)性和重要性,缺一不可;也希望你能區(qū)分它與分析師的差異性;更期待你能夠知曉這個(gè)崗位在數(shù)據(jù)產(chǎn)品里的角色性,因?yàn)檫@些對(duì)于你如何去成為一位數(shù)據(jù)挖掘工程師來(lái)說(shuō),很重要!

  • 說(shuō)完上面這些雜七雜八的伏筆,下文我將深入仔細(xì)去引導(dǎo)你,如何去搭建屬于自己Spark版本的Data Mining環(huán)境,以及某些環(huán)節(jié)在實(shí)踐項(xiàng)目中開(kāi)發(fā)的必要性。

第一步 : Java安裝和配置(1.7或者1.8)

  • 理由:這是必須要去部署的環(huán)境,不解釋。不過(guò)注意區(qū)分版本、以及個(gè)人主機(jī)是32位還是64位;
  • 下載:本文提供1.8版本的下載 ,其中32位下載,64位下載;
  • 安裝配置:
    • 1.【安裝】:點(diǎn)擊軟件進(jìn)行安裝,按照引導(dǎo)步驟,并指定安裝目錄(個(gè)人喜愛(ài)),本文選擇默認(rèn)安裝路徑;
    • 2.【配置】:配置環(huán)境變量JAVA_HOME和路徑PATH,選擇我的電腦>系統(tǒng)屬性>高級(jí)系統(tǒng)設(shè)置>環(huán)境變量;


      jdk安裝路徑
環(huán)境變量設(shè)置

a.新建JAVA_HOME,為C:\Program Files\Java\jdk1.8.0_20。
b.新建CLASSPATH,為“.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;”
c.編輯Path,添加“;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin”

考慮到有不少讀者非軟件專(zhuān)業(yè),因此這里沒(méi)有一筆帶過(guò)基本的軟件安裝。最終安裝成功的顯示如下所示:

成功安裝java的顯示

第二步 : IDE安裝和配置(Eclipse或者Spring Tool Suite)

  • 理由:編寫(xiě)工程代碼的集成環(huán)境,也就是你寫(xiě)代碼的地兒。注意IDE區(qū)分版本、以及個(gè)人主機(jī)是32位還是64位;
  • 下載:本文提供最新STS版本的下載 ,其中32位下載64位下載。也可以使用Eclipse或SBT;
  • 安裝配置:
    • 1.將安裝包下載放在選定目錄,進(jìn)行解壓就可以了,并創(chuàng)建桌面快捷方式,方便以后使用;
STS解壓后應(yīng)用程序

在后期使用IDE時(shí),考慮到個(gè)人有代碼潔癖,因此,我都推薦先設(shè)置好這幾點(diǎn):a.字體大小和類(lèi)型,b.縮進(jìn)方式,c.代碼行數(shù)序號(hào);

第三步 : IDE插件的加載

  • 理由:編寫(xiě)MapReduce/Spark工程需要的插件,注意區(qū)分hadoop版本。
  • 下載:本文提供hadoop2.6.0版本的插件 ,其中下載地址
  • 安裝配置:
    • 1.將Jar包放在STS目錄,位置于\sts-bundle\sts-3.8.1.RELEASE\dropins下;

第四步 : Maven的安裝配置

  • 理由:開(kāi)發(fā)實(shí)踐數(shù)據(jù)挖掘項(xiàng)目,更多采用Maven進(jìn)行項(xiàng)目管理。
  • 下載:本文提供兩個(gè)版本的下載 ,其中3.3.3下載,3.3.9下載
  • 安裝配置:
    • 1.將安裝包解壓放在指定目錄,設(shè)置全局變量M2_HOME和添加路徑PATH;
MAVEN的全局變量和路徑設(shè)置
Maven安裝成功的顯示

第五步 : hadoop包的下載配置

  • 理由:代碼執(zhí)行過(guò)程中依賴(lài)hadoop的環(huán)境,需要單獨(dú)配置hadoop的執(zhí)行路徑。
  • 下載:本文提供2.6.0版本的下載 ,其中下載地址
  • 安裝配置:
    • 1.將安裝包解壓放在指定目錄,設(shè)置全局變量HADOOP_HOME和添加路徑PATH;
配置hadoop的全局變量和路徑

第六步 : hadoop插件的加載配置

  • 理由:代碼執(zhí)行過(guò)程中依賴(lài)hadoop的JAR插件,需要單獨(dú)編譯或者下載,放置在上述hadoop解壓包的bin目錄下。
  • 下載:本文提供2.6.0版本的插件下載 ,其中32位,64位
  • 安裝配置:
    • 1.將安裝包解壓放在指定目錄,將hadoop.dll和winutils.exe放在hadoop的bin目錄下就可以了;
將hadoop插件放置于bin目錄下

第七步 : spark包的下載配置

  • 理由:代碼執(zhí)行過(guò)程中依賴(lài)spark的配置環(huán)境,需要下載包放置在指定目錄,并設(shè)置全局變量和路徑。
  • 下載:本文提供spark-1.6.2-bin-hadoop2.6版本的插件下載 ,其中下載地址
  • 安裝配置:
    • 1.將安裝包解壓放在指定目錄,設(shè)置全局變量SPARK_HOME和添加路徑PATH;
配置Spark的全局變量和路徑

通過(guò)上述的安裝,可以通過(guò)下面的顯示來(lái)驗(yàn)證是否成功

Spark配置成功的顯示

第八步 : scala環(huán)境的安裝配置

  • 理由:代碼執(zhí)行過(guò)程中依賴(lài)scala的配置環(huán)境,需要安裝scala環(huán)境,并設(shè)置全局變量和路徑。
  • 下載:本文提供三個(gè)版本的安裝包下載 ,其中2.10.12.10.4,2.11.0
  • 安裝配置:
    • 1.將安裝包安裝在指定目錄,設(shè)置全局變量SCALA_HOME和添加路徑PATH,最終安裝成功顯示如下;
scala成功安裝的顯示圖

第九步 : scala ide集成插件的加載配置

  • 理由:IDE集成環(huán)境執(zhí)行過(guò)程中依賴(lài)scala插件的相關(guān)JAR包,需要單獨(dú)下載相應(yīng)版本的scala ide,并將features和plugins目錄下的文件都復(fù)制到上述STS集成環(huán)境下。
  • 下載:本文提供兩個(gè)版本的包下載 ,其中32位,64位。
  • 安裝配置:
    • 1.將下載包解壓,復(fù)制features和plugins目錄下的文件到\sts-bundle\sts-3.8.1.RELEASE\ 下的同命名文件目錄中去;
scala ide集成插件復(fù)制到sts指定目錄

至此,通過(guò)以上9個(gè)步驟的下載、安裝和配置,一個(gè)基于Windows的標(biāo)配大數(shù)據(jù)挖掘環(huán)境就已經(jīng)搭建好了。上面這些版本和鏈接都會(huì)在以后日子進(jìn)行更新迭代,有部署過(guò)程中遇到問(wèn)題的小伙伴,也可以積極將問(wèn)題和截圖發(fā)到評(píng)論里,一起進(jìn)行解決。

  • 下面的內(nèi)容,本文就利用上述所有步驟部署的大數(shù)據(jù)挖掘環(huán)境做一個(gè)實(shí)踐項(xiàng)目開(kāi)發(fā)的流程,后期文章中會(huì)更深入引導(dǎo)數(shù)據(jù)產(chǎn)品中的數(shù)據(jù)挖掘工程開(kāi)發(fā)。讓真正想踏入大數(shù)據(jù)圈子做數(shù)據(jù)挖掘的小伙伴們,能夠清楚自己目前應(yīng)該做的事,以及公司級(jí)別實(shí)踐應(yīng)用的場(chǎng)景。不脫節(jié)、不迷茫、不盲目!

Step1:創(chuàng)建MAVEN工程

創(chuàng)建Maven工程中的步驟一
創(chuàng)建Maven工程中的步驟二

Step2:創(chuàng)建工程中的對(duì)象

創(chuàng)建Maven工程中的對(duì)象
創(chuàng)建成功顯示圖

Step3:配置好pom.xml文件,下載相關(guān)Spark依賴(lài)包

修改pom.xml文件,添加工程依賴(lài)包坐標(biāo)

Step4:寫(xiě)一個(gè)樸素貝葉斯模型里涉及先驗(yàn)概率計(jì)算的邏輯,后期深入的開(kāi)發(fā)等著以后的文章吧!

代碼邏輯,讓大家看看模樣
  • 總結(jié):工欲善其事,必先利其器!這句話里面有兩層的邏輯,一方面,你在要踏入大數(shù)據(jù)挖掘領(lǐng)域的同時(shí),應(yīng)該要學(xué)會(huì)部署一套上述這樣的環(huán)境,因?yàn)樗鼘?duì)于你的模型工程開(kāi)發(fā)、集群任務(wù)提交、數(shù)據(jù)產(chǎn)品項(xiàng)目開(kāi)發(fā)、甚至是以后的模型優(yōu)化重構(gòu),都是至關(guān)重要!一方面,我希望真正想學(xué)習(xí)大數(shù)據(jù)挖掘的小伙伴們,要走一個(gè)正確的方向,真正理解大數(shù)據(jù)生態(tài)圈的特點(diǎn),要致力于為數(shù)據(jù)產(chǎn)品提供源源不斷的大數(shù)據(jù)挖掘體系而奮斗,因?yàn)檫@事,不僅僅是玩玩而已?。ㄉ鲜鱿螺d的版本和鏈接都會(huì)在以后的時(shí)間進(jìn)行更新維護(hù))

附錄:本文屬于《以什么姿勢(shì)進(jìn)入數(shù)據(jù)挖掘會(huì)少走彎路》系列章節(jié),首發(fā)于infoQ,鏈接地址。目前為第四篇,以往的鏈接地址為《以什么姿勢(shì)進(jìn)入DataMining會(huì)少走彎路?》《一種新思想去解決大矩陣相乘》、《你知道DataMining缺乏模塊化思維的后果?》

注:其他商業(yè)平臺(tái)轉(zhuǎn)載需聯(lián)系infoQ進(jìn)行授權(quán),杜絕私自轉(zhuǎn)載!

=======================================
最后一句,希望各位看官都能夠點(diǎn)擊投票鏈接,選擇3號(hào),為我投一個(gè)票,十分感謝,感情也能夠細(xì)水長(zhǎng)流撒!

選中這個(gè)
輸入驗(yàn)證碼,提交就OK了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容