大數(shù)據(jù)實驗平臺建設方案_第1頁
大數(shù)據(jù)實驗平臺建設方案_第2頁
大數(shù)據(jù)實驗平臺建設方案_第3頁
大數(shù)據(jù)實驗平臺建設方案_第4頁
大數(shù)據(jù)實驗平臺建設方案_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

大數(shù)據(jù)實驗平臺建設方案平臺簡介大數(shù)據(jù)實驗平臺通過應用容器技術(shù),以少量機器虛擬大量實驗集群,可供大量學生同時擁有多套集群進行Hadoop相關(guān)試驗,而每個學生的實驗環(huán)境不僅相互隔離,方便高效地完成實驗,而且實驗彼此不干擾,即使某個實驗環(huán)境被破壞,對其他人也沒有影響,一鍵重啟就可以擁有一套新集群,大幅度節(jié)省了硬件和人員管理的投入成本。大數(shù)據(jù)實驗平臺秉承“產(chǎn)、學、研、用”一體化的思路和模式,從教學、實踐、科研和使用多方面注重專業(yè)人才和特色人才的培養(yǎng)。從理論與實踐雙管齊下,提升高校信息化管理水平和實驗項目研究水平,真正在產(chǎn)業(yè)、學校、科研及實踐項目中相互配合,發(fā)展優(yōu)勢,形成生產(chǎn)、學習、科學研究、實踐運用的系統(tǒng)運作模式,從而建設大數(shù)據(jù)特色專業(yè)。大數(shù)據(jù)實驗平臺實物圖硬件方面大數(shù)據(jù)實驗平臺采用cServer機架式服務器,其英特爾?至強?處理器E5產(chǎn)品家族的性能比上一代提升多至80%,并具備更出色的能源效率。通過英特爾E5家族系列CPU及英特爾服務器組件,可滿足擴展I/O靈活度、最大化內(nèi)存容量、大容量存儲和冗余計算等需求。整機一體化交付,系統(tǒng)根據(jù)學校的專業(yè)人數(shù)規(guī)模進行不同規(guī)格的配置,可進行同時滿足30人、60人、150人實驗規(guī)模的選擇。軟件層面有Hadoop、HBase、Ambari、HDFS、YARN、MapReduce、ZooKeeper、Spark、Storm、Hive、Pig、Oozie、Mahout、R語言等不同的大數(shù)據(jù)應用組件供各大高校根據(jù)具體應用進行選擇實驗部署。此外,作為一個可供大量學生完成大數(shù)據(jù)與云計算實驗的集成環(huán)境,大數(shù)據(jù)實驗平臺同步提供了配套的培訓服務,對于教學組件的安裝、配置,教材、實驗手冊等具體應用提供一站式服務,有助于高校更好地滿足課程設計、課程上機實驗、實習實訓、科研訓練等多方面需求,并在一定程度上緩解大數(shù)據(jù)師資不足的問題。對于各大高校而言,即使沒有任何大數(shù)據(jù)實驗基礎(chǔ),該平臺也能助其輕松開展大數(shù)據(jù)與云計算的教學、實驗與科研。架構(gòu)設計產(chǎn)品架構(gòu)大數(shù)據(jù)實驗平臺架構(gòu)大數(shù)據(jù)實驗平臺從軟硬件、客戶端及實驗配套教材培訓等方面考慮,針對大數(shù)據(jù)專業(yè)建設的課程體系不完善、基礎(chǔ)實驗環(huán)境薄弱、缺乏實訓項目三大難題,為各大高校量身定制的大數(shù)據(jù)軟硬件一體化的教學科研解決方案。大數(shù)據(jù)實驗平臺整體設計是基于Docker容器集群技術(shù)搭建的Hadoop實驗平臺,并針對大數(shù)據(jù)實驗的需求提供了完善的使用環(huán)境,可一鍵創(chuàng)造隨時運行的實驗環(huán)境,其中采用Mesos+ZooKeeper+Mrathon架構(gòu)管理Docker集群,Docker平臺架構(gòu)如下圖所示:Docker容器設計架構(gòu)其中,Mesos是Apache下的開源分布式資源管理框架,它被稱為是分布式系統(tǒng)的內(nèi)核;ZooKeeper用來做主節(jié)點的容錯和數(shù)據(jù)同步;Marathon則是一個Mesos框架,為部署提供RESTAPI服務,實現(xiàn)服務發(fā)現(xiàn)等功能。實驗時,系統(tǒng)預先針對大數(shù)據(jù)實驗內(nèi)容構(gòu)建一系列基于CentOS7的特定容器鏡像,通過Docker在集群主機內(nèi)構(gòu)建容器,充分利用容器資源利用率高的特點,為每個使用平臺的用戶開辟屬于自己完全隔離的Hadoop實驗環(huán)境。容器內(nèi)部,用戶完全可以像使用linux操作系統(tǒng)一樣的使用容器,并且不會被其他用戶的集群造成任何影響,僅僅使用幾臺機器,就可能虛擬出能夠支持幾十個甚至上百個用戶同時使用的隔離集群環(huán)境。Docker容器技術(shù)大數(shù)據(jù)實驗平臺最核心的部分采用Docker容器技術(shù),Docker是一個開源的應用容器引擎,可以讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。大數(shù)據(jù)實驗平臺通過Docker在容器內(nèi)部快速自動化部署應用,并通過內(nèi)核虛擬化技術(shù)來提供容器的資源隔離與安全保障等,以此來為大量的學生虛擬創(chuàng)造出多個互相隔離的實驗環(huán)境,及時實驗環(huán)境破壞也不影響其他人的使用。同時由于Docker通過操作系統(tǒng)層的虛擬化實現(xiàn)隔離,所以Docker容器在運行時,不需要類似虛擬機(VM)額外的操作系統(tǒng)開銷,提高資源利用率,并且提升諸如IO等方面的性能,使得大數(shù)據(jù)實驗平臺可以通過少量服務器即可構(gòu)建出供大量學生進行實驗的實驗環(huán)境。Docker平臺架構(gòu)Docker平臺架構(gòu)圖如下:Docker使用客戶端-服務器(client-server)架構(gòu)模式,Docker客戶端會與Docker守護進程進行通信。Docker守護進程會處理復雜繁重的任務,例如建立、運行、發(fā)布Docker容器。Docker客戶端和守護進程可以運行在同一個系統(tǒng)上,當然也可以使用Docker客戶端去連接一個遠程的Docker守護進程。Docker客戶端和守護進程之間通過socket或者RESTfulAPI進行通信。如下圖所示:Docker守護進程Docker守護進程運行在一臺主機上,用戶并不直接和守護進程進行交互,而是通過Docker客戶端間接和其通信,從來帶來安全性和隔離性。Docker客戶端Docker客戶端,實際上是docker的二進制程序,是主要的用戶與Docker交互方式。它接收用戶指令并且與背后的Docker守護進程通信,如此來回往復。Docker內(nèi)部Docker內(nèi)部分為三大部件:Docker鏡像(Dockerimages)、Docker倉庫(Dockerregisteries)、Docker容器(Dockercontainers)。Docker鏡像是一個只讀的模板,鏡像是用來創(chuàng)建容器,Docker提供了簡單的放來來建立新的鏡像或者升級現(xiàn)有的鏡像一個鏡像可以包含一個運行在Apache上的Web應用和其使用的Ubuntu操作系統(tǒng)。Docker倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫,分為公有和私有兩種,提供了龐大的鏡像集合供使用,這些鏡像可以是自己創(chuàng)造的也可以在別人的鏡像基礎(chǔ)上進行創(chuàng)造。Docker容器和文件夾很類似,一個Docker容器包含了所有的某個應用運行所需要的環(huán)境。每一個Docker容器都是從Docker鏡像創(chuàng)建的。Docker容器可以運行、開始、停止、移動和刪除。每一個Docker容器都是獨立和安全的應用平臺,Docker容器是Docker的運行部分。工作模式構(gòu)建鏡像DockerImage是一個構(gòu)建容器的只讀模板,它包含了容器啟動所需的所有信息,包括運行哪些進程和配置數(shù)據(jù)。所有的鏡像都會基于一個基本鏡像構(gòu)建,緊接著會根據(jù)Dockerfile中的指令創(chuàng)建模板,對于每個指令,在鏡像上創(chuàng)建一個新的層。運行容器運行容器源于我們在第一步中創(chuàng)建的鏡像。當一個容器被啟動后,一個讀寫層會被添加到鏡像的頂層;當分配合適的網(wǎng)絡和IP地址后,最應用程序就可以在容器中運行了。網(wǎng)絡環(huán)境的搭建Docker的原生態(tài)網(wǎng)絡通信是通過NAT和Dockerproxy來實現(xiàn)的;利用端口映射和修改宿主機的iptables規(guī)則實現(xiàn)了不同容器間、容器與外界的互相訪問。然而,這樣的NAT方式(SNAT和DNAT)不僅影響效率,同時還使得容器內(nèi)所看的自己的IP地址和外部所見的該容器IP地址不一致,阻礙了很多集群化功能的實現(xiàn)(如Redis集群、ElasticSearch集群的自動組播發(fā)現(xiàn)需要基于默認端口規(guī)則),使得一些現(xiàn)有的工具無法正常工作。例如,在一些自動服務注冊和發(fā)現(xiàn)的應用中,容器中的應用在進行自動注冊時只能看到自己內(nèi)部的IP并將此IP注冊,但是其他外部的模塊卻無法通過此IP來訪問該容器應用。然而,大數(shù)據(jù)系統(tǒng)由于數(shù)據(jù)量大、計算量大的特性,必然需要由多個主機組成的一個集群來完成計算分析任務。因此,基于Docker來搭建一個大數(shù)據(jù)分析系統(tǒng)的必要前提就是保證多個Docker的跨主機通信能夠暢通無阻、保持高效。為了解決Docker原生態(tài)網(wǎng)絡通信的上述問題,在云計算生態(tài)圈里涌現(xiàn)了一些優(yōu)秀的分布式Docker網(wǎng)絡配置和管理工具,如flannel、weave、socketplane等,其總體思想是基于物理網(wǎng)絡在容器間構(gòu)造一個overlay網(wǎng)絡。從Docker的1.9版本開始,Docker的網(wǎng)絡部分自成一塊(libnetwork),并支持復雜的Overlay模式。Overlay網(wǎng)絡的總體思想是對原生態(tài)的網(wǎng)絡數(shù)據(jù)包進行封裝,這里又可分為在用戶層進行封裝(如weave、flannel)和在內(nèi)核層進行封裝(如sockplane)。下面分別以flannel為例稍做講解。Flannel的Overlay設計—鏡像構(gòu)建Flannel在每個節(jié)點(主機)上運行一個守護進程(flanneld)。這個守護進程負責為每一個節(jié)點分配一個子網(wǎng)段。該分配信息存儲在etcd中(一種分布式存儲方案)。同時,每個節(jié)點上的Dockerdaemon會從該子網(wǎng)段中為主機上運行的容器分配一個IP地址,如圖12-3所示。因此,在容器中的應用所看到的IP地址和外部所看到的該容器的IP地址是一致的。在轉(zhuǎn)發(fā)報文時,F(xiàn)lannel支持不同的后端策略,例如,主機網(wǎng)管模式、UDP模式等。以UDP模式為例,flannel形成了一個Overlay網(wǎng)絡,通過TUN設備對每個IPfragment進行UDP包頭封裝,流程如圖12-3所示。容器Overlay網(wǎng)絡系統(tǒng)設計原理—容器運行介紹了Flannel工具后,我們透過現(xiàn)象看本質(zhì),討論下設計一個Overlay網(wǎng)絡系統(tǒng)的原理和要點。Flannel的Overlay網(wǎng)絡實現(xiàn)模式ARP:在經(jīng)典的物理網(wǎng)絡中,當一個主機S訪問另一個主機D的時候,S發(fā)出的第一個報文就是一個ARP請求的廣播報文,交換機會在同一個子網(wǎng)內(nèi)廣播這個報文給所有的子網(wǎng)內(nèi)節(jié)點。如果D在同一個子網(wǎng)內(nèi),它會接收到這個請求并將做出回復,使得S和D可以后續(xù)進行通信。在容器環(huán)境下,可以如實地把報文廣播出去,并通過spanningtree等算法來避免廣播回路。此外,還可以通過IP組播的功能來處理ARP請求和響應。最后,還可以基于SDN對全局的網(wǎng)絡拓撲信息的把握,通過SDN控制器來實現(xiàn)ARP協(xié)議。IP層互通:在解決了二層網(wǎng)絡的通信問題后,還需要解決的就是容器與容器之間、容器與外網(wǎng)的互通。對于容器內(nèi)的應用可以訪問容器外的外網(wǎng),一般可以采用NAT方式,使得容器最終使用物理宿主機的網(wǎng)關(guān)。為了保證容器能夠?qū)ν馓峁┓眨梢圆捎妙愃艱ocker的端口映射方式實現(xiàn)DNAT,并通過將容器連接到負載均衡設備從而對外提供服務。Docker容器優(yōu)勢運行速度快系統(tǒng)運行時的性能可以獲取極大提升,其管理操作(啟動,停止,開始,重啟等等)都是以秒或毫秒為單位的,可以在一瞬間創(chuàng)建隨時運行的實驗環(huán)境。部署簡單將應用和系統(tǒng)“容器化”,不添加額外的操作系統(tǒng),和虛擬機一樣部署非常簡單,支持一鍵創(chuàng)造和銷毀實驗集群,同時實驗環(huán)境互不干擾,如果實驗環(huán)境破壞,一鍵重啟即可建立新集群安全隔離采用Mesos+ZooKeeper+Mrathon架構(gòu)管理集群,實驗集群完全隔離。輕量擁有足夠的“操作系統(tǒng)”,僅需添加或減小鏡像即可。在幾臺服務器上就可以虛擬出大量的實驗環(huán)境,供上百師生進行教學實驗工作。成本低以容器化應用作為交付的標準,立足于云,為開發(fā)者和企業(yè)提供了一個快速構(gòu)建、集成、部署、運行容器化應用的平臺,幫助高校和企業(yè)提高應用開發(fā)的迭代效率,簡化運維環(huán)節(jié),降低運維成本。云支持可以為不計其數(shù)的云服務提供創(chuàng)建和管理Linux容器框架。Hadoop實驗平臺Hadoop架構(gòu)Hadoop可以在大數(shù)據(jù)處理應用中廣泛應用,得益于其自身在數(shù)據(jù)提取、變形和加載(ETL)方面上的天然優(yōu)勢。Hadoop的分布式架構(gòu),將大數(shù)據(jù)處理引擎盡可能的靠近存儲,對例如像ETL這樣的批處理操作相對合適,因為類似這樣操作的批處理結(jié)果可以直接走向存儲。Hadoop的MapReduce功能實現(xiàn)了將單個任務打碎,并將碎片任務(Map)發(fā)送到多個節(jié)點上,之后再以單個數(shù)據(jù)集的形式加載(Reduce)到數(shù)據(jù)倉庫里。Hadoop架構(gòu)圖通過上圖我們可以看出,Hadoop由許多元素構(gòu)成。其最底部是HadoopDistributedFileSystem(HDFS),它存儲Hadoop集群中所有存儲節(jié)點上的文件。HDFS(對于本文)的上一層是MapReduce引擎,該引擎由JobTrackers和TaskTrackers組成。通過對Hadoop分布式計算平臺最核心的分布式文件系統(tǒng)HDFS、MapReduce處理過程,以及數(shù)據(jù)倉庫工具Hive和分布式數(shù)據(jù)庫Hbase的介紹,基本涵蓋了Hadoop分布式平臺的所有技術(shù)核心。Hadoop關(guān)鍵技術(shù)下面我們將從HDFS、MapReduce、HBase三大部分詳細介紹Hadoop的關(guān)鍵指數(shù):HDFSHDFS架構(gòu)圖對外部客戶機而言,HDFS就像一個傳統(tǒng)的分級文件系統(tǒng)??梢詣?chuàng)建、刪除、移動或重命名文件,等等。但是HDFS的架構(gòu)是基于一組特定的節(jié)點構(gòu)建的(參見圖1),這是由它自身的特點決定的。這些節(jié)點包括NameNode(僅一個),它在HDFS內(nèi)部提供元數(shù)據(jù)服務;DataNode,它為HDFS提供存儲塊。由于僅存在一個NameNode,因此這是HDFS的一個缺點(單點失敗)。存儲在HDFS中的文件被分成塊,然后將這些塊復制到多個計算機中(DataNode)。這與傳統(tǒng)的RAID架構(gòu)大不相同。塊的大?。ㄍǔ?4MB)和復制的塊數(shù)量在創(chuàng)建文件時由客戶機決定。NameNode可以控制所有文件操作。HDFS內(nèi)部的所有通信都基于標準的TCP/IP協(xié)議。MapReduceMapReduce架構(gòu)圖MapReduce主要功能如下:數(shù)據(jù)劃分和計算任務調(diào)度系統(tǒng)自動將一個作業(yè)(Job)待處理的大數(shù)據(jù)劃分為很多個數(shù)據(jù)塊,每個數(shù)據(jù)塊對應于一個計算任務(Task),并自動調(diào)度計算節(jié)點來處理相應的數(shù)據(jù)塊。作業(yè)和任務調(diào)度功能主要負責分配和調(diào)度計算節(jié)點(Map節(jié)點或Reduce節(jié)點),同時負責監(jiān)控這些節(jié)點的執(zhí)行狀態(tài),并負責Map節(jié)點執(zhí)行的同步控制。數(shù)據(jù)/代碼互定位為了減少數(shù)據(jù)通信,一個基本原則是本地化數(shù)據(jù)處理,即一個計算節(jié)點盡可能處理其本地磁盤上所分布存儲的數(shù)據(jù),這實現(xiàn)了代碼向數(shù)據(jù)的遷移;當無法進行這種本地化數(shù)據(jù)處理時,再尋找其他可用節(jié)點并將數(shù)據(jù)從網(wǎng)絡上傳送給該節(jié)點(數(shù)據(jù)向代碼遷移),但將盡可能從數(shù)據(jù)所在的本地機架上尋找可用節(jié)點以減少通信延遲。系統(tǒng)優(yōu)化為了減少數(shù)據(jù)通信開銷,中間結(jié)果數(shù)據(jù)進入Reduce節(jié)點前會進行一定的合并處理;一個Reduce節(jié)點所處理的數(shù)據(jù)可能會來自多個Map節(jié)點,為了避免Reduce計算階段發(fā)生數(shù)據(jù)相關(guān)性,Map節(jié)點輸出的中間結(jié)果需使用一定的策略進行適當?shù)膭澐痔幚?,保證相關(guān)性數(shù)據(jù)發(fā)送到同一個Reduce節(jié)點;此外,系統(tǒng)還進行一些計算性能優(yōu)化處理,如對最慢的計算任務采用多備份執(zhí)行、選最快完成者作為結(jié)果。出錯檢測和恢復以低端商用服務器構(gòu)成的大規(guī)模MapReduce計算集群中,節(jié)點硬件(主機、磁盤、內(nèi)存等)出錯和軟件出錯是常態(tài),因此MapReduce需要能檢測并隔離出錯節(jié)點,并調(diào)度分配新的節(jié)點接管出錯節(jié)點的計算任務。同時,系統(tǒng)還將維護數(shù)據(jù)存儲的可靠性,用多備份冗余存儲機制提高數(shù)據(jù)存儲的可靠性,并能及時檢測和恢復出錯的數(shù)據(jù)。HBaseHBace架構(gòu)圖HBase即HadoopDatabase,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價PCServer上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。上圖描述HadoopEcoSystem中的各層系統(tǒng)。其中,HBase位于結(jié)構(gòu)化存儲層,HadoopHDFS為HBase提供了高可靠性的底層存儲支持,HadoopMapReduce為HBase提供了高性能的計算能力,Zookeeper為HBase提供了穩(wěn)定服務和failover機制。此外,Pig和Hive還為HBase提供了高層語言支持,使得在HBase上進行數(shù)據(jù)統(tǒng)計處理變的非常簡單。Sqoop則為HBase提供了方便的RDBMS數(shù)據(jù)導入功能,使得傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù)向HBase中遷移變的非常方便。Hadoop優(yōu)勢Hadoop是一個能夠讓用戶輕松架構(gòu)和使用的分布式計算平臺。用戶可以輕松地在Hadoop上開發(fā)和運行處理海量數(shù)據(jù)的應用程序。它主要有以下幾個優(yōu)點:高可靠性:按位存儲和處理數(shù)據(jù)的能力值得人們信賴。高擴展性:在可用的計算機集簇間分配數(shù)據(jù)并完成計算任務的,這些集簇可以方便地擴展到數(shù)以千計的節(jié)點中。高效性:能夠在節(jié)點之間動態(tài)地移動數(shù)據(jù),并保證各個節(jié)點的動態(tài)平衡,因此處理速度非???。高容錯性:能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務重新分配。低成本:與一體機、商用數(shù)據(jù)倉庫以及QlikView、YonghongZ-Suite等數(shù)據(jù)集市相比,Hadoop是開源的,項目的軟件成本因此會大大降低。主要功能介紹登錄界面大數(shù)據(jù)實驗平臺登錄首頁,輸入大數(shù)據(jù)實驗平臺訪問地址,輸入相應賬號與密碼,點擊登錄即可。賬號管理系統(tǒng)管理員和教師角色登錄后,可以看到用戶賬戶管理界面。系統(tǒng)管理員用戶可以在該界面中查看或修改所有的教師和學生用戶信息,并可以注冊或銷毀教師或?qū)W生用戶賬戶;教師用戶可以在該界面中查看或修改自己建立的所有學生用戶信息,并可以注冊或銷毀自己的學生用戶賬戶。實驗管理此處的集群管理包含“開始實驗”和“終止實驗”,由于xxxxx據(jù)實驗平臺采用“Docker”技術(shù),因此能夠在幾乎不占用系統(tǒng)資源情況下,實現(xiàn)大量機器快速創(chuàng)建與銷毀,不必擔心資源消耗高、啟動銷毀慢、管理維護難等問題。(1)開始實驗當需要開始實驗時,直接點擊實驗界面對應實驗面板上的啟動按鈕即可,后臺會快速為用戶新建五臺能夠支撐該實驗的預裝CentOS7操作系統(tǒng)的機器,并配置好各自的主機名和IP地址等。(2)終止實驗若實驗過程中,由于命令敲錯等各種原因?qū)е录簾o法使用,可在實驗頁面中隨時終止您的實驗進程,銷毀失效的集群,之后再重新啟動該實驗,創(chuàng)建新的集群。資源管理系統(tǒng)具備資源監(jiān)控管理功能,可實時展示系統(tǒng)內(nèi)的集群使用情況、人數(shù)上限和當前使用量情況,通過對實驗平臺狀態(tài)的監(jiān)控,以實現(xiàn)對資源的不斷優(yōu)化。學習資料大數(shù)據(jù)實驗平臺提供實驗所需的學習資料,學生在做實驗的同時可查看和下載每個實驗步驟的操作手冊及大數(shù)據(jù)教材配套PPT。我的報告學生通過我的報告查看自己所做的每個實驗過程及最終得分。相關(guān)下載大數(shù)據(jù)實驗平臺的相關(guān)下載界面提供了實驗所需的軟件及插件的下載,為避免軟件版本不同導致實驗環(huán)境配置錯誤,請盡量下載和使用此處指定的軟件版本與插件。配套資源作為一個可供大量學生完成大數(shù)據(jù)與云計算實驗的集成環(huán)境,該平臺同步提供了配套的培訓服務,對于教學組件的安裝、配置,教材、實驗手冊等具體應用提供一站式服務,有助于高校更好地滿足課程設計、課程上機實驗、實習實訓、科研訓練等多方面需求,并在一定程度上緩解大數(shù)據(jù)師資不足的問題。對于各大高校而言,即使沒有任何大數(shù)據(jù)實驗基礎(chǔ),該平臺也能助其輕松開展大數(shù)據(jù)與云計算的教學、實驗與科研。具體資源如下:內(nèi)容充實的課程體系在《實戰(zhàn)Hadoop2.0——從云計算到大數(shù)據(jù)》和實驗手冊的指導之下,大數(shù)據(jù)實驗平臺解決方案涵蓋大數(shù)據(jù)算法、接口、工具、平臺等多方面內(nèi)容,從大數(shù)據(jù)監(jiān)測與收集、大數(shù)據(jù)存儲與處理、大數(shù)據(jù)分析與挖掘直至大數(shù)據(jù)創(chuàng)新,幫助高校構(gòu)建完善的大數(shù)據(jù)課程體系。課程體系多元化的大數(shù)據(jù)資源包大數(shù)據(jù)系列教材《實戰(zhàn)Hadoop2.0》:國內(nèi)第一本Hadoop編程書籍的升級版——《實戰(zhàn)Hadoop2.0》及其配套PPT(國內(nèi)知名云計算專家、中國信息協(xié)會大數(shù)據(jù)分會副會長劉鵬傾力打造)實戰(zhàn)Hadoop2.0在此之前,劉鵬教授帶領(lǐng)編著團隊,相繼出版了《云計算》、《大數(shù)據(jù)》(《云計算》已經(jīng)被全國高校采用,其被引用量排名全國計算機圖書第一名),并在教材之外,輔助提供相應的教學計劃、課件、實驗規(guī)劃等。同時,xxxx數(shù)據(jù)團隊聯(lián)合全國各高校老師,為本科和高職院校分別準備了《大數(shù)據(jù)可視化》、《深度學習》、《數(shù)據(jù)挖掘》、《虛擬化與容器》以及《R語言》、《大數(shù)據(jù)基礎(chǔ)》、《大數(shù)據(jù)實踐》、《大數(shù)據(jù)系統(tǒng)運維》、《數(shù)據(jù)清洗》、《數(shù)據(jù)挖掘基礎(chǔ)》、《云計算基礎(chǔ)》兩個系列教材,目前已經(jīng)陸續(xù)進入定稿出版階段。綜合85個大數(shù)據(jù)實驗的實驗手冊及配套高清視頻課程:涵蓋原理驗證、綜合應用、自主設計及創(chuàng)新的多層次實驗內(nèi)容,每個實驗呈現(xiàn)詳細的實驗目的、實驗內(nèi)容、實驗原理和實驗流程指導,配套相應的實驗數(shù)據(jù)和高清視頻課程,參照手冊即可輕松完成每個實驗。實驗手冊大綱網(wǎng)站資源:國內(nèi)專業(yè)領(lǐng)域排名第一的網(wǎng)站——中國大數(shù)據(jù)、中國云計算、中國存儲、中國物聯(lián)網(wǎng)、中國智慧城市等提供全線支持,一網(wǎng)打盡各類優(yōu)質(zhì)資源。實驗數(shù)據(jù)提供基于大數(shù)據(jù)實驗需求,與大數(shù)據(jù)實驗平臺配套提供的還有各種實驗數(shù)據(jù),其中不僅包含共用的公有數(shù)據(jù),每一套大數(shù)據(jù)組件也有自己的實驗數(shù)據(jù),種類豐富,應用性強。實驗數(shù)據(jù)將做打包處理,不同的實驗將搭配不同的數(shù)據(jù)與實驗工具,解決實驗數(shù)據(jù)短缺的困擾,在實驗環(huán)境與實驗手冊的基礎(chǔ)上,做到有設備就能實驗,有數(shù)據(jù)就會實驗。專業(yè)培訓培訓簡介眾所周知,大數(shù)據(jù)迎來黃金發(fā)展期,面對百萬級的大數(shù)據(jù)人才缺口,大數(shù)據(jù)專業(yè)建設早已提上日程。然而,大數(shù)據(jù)專業(yè)的人才培養(yǎng)計劃、課程體系直至師資力量等還處于試錯階段,各高校老師對于相關(guān)專業(yè)的開展仍然處于茫然狀態(tài)。為此,xx大數(shù)據(jù)提供以理論+實戰(zhàn)的培訓形式,為各大高校提供師資力量培訓。xxx大數(shù)據(jù)提供的大數(shù)據(jù)專業(yè)師資力量培訓由金陵科技學院與江蘇省云計算論壇共同主辦,英特爾(中國)公司與電子工業(yè)出版社協(xié)辦,培訓由清華大學博士、中國信息協(xié)會大數(shù)據(jù)分會副會長劉鵬教授傾情授課,致力于用高效的辦法,在幾天內(nèi)為各大高校免費培養(yǎng)一大批大數(shù)據(jù)師資力量,幫助全國教師對大數(shù)據(jù)跨過從理論到實踐、從知道到用過的門檻。往期培訓介紹曹騮博士深度學習培訓平臺優(yōu)勢特性沙箱機制xx數(shù)據(jù)實驗平臺采用Docker容器技術(shù),容器之間采用沙箱機制,相互之間沒有任何接口,因此通過大數(shù)據(jù)實驗平臺創(chuàng)造出的實驗環(huán)境是相互隔離的,即使由于部分學生的誤操作導致實驗環(huán)境被破壞,也不會影響到其他同學的實驗,一鍵重啟就可以擁有新的集群。Docker統(tǒng)一平臺示意圖快速部署xx大數(shù)據(jù)實驗平臺可快速部署實驗環(huán)境,支持一鍵創(chuàng)建和銷毀實驗集群,可在一瞬間創(chuàng)建出供大量學生同時實驗的實驗環(huán)境,同時實驗環(huán)境可快速銷毀和重建,可供老師簡單便捷的進行大數(shù)據(jù)實驗和教學工作,無需花大量時間進行每個學生的實驗環(huán)境部署工作,大幅度的節(jié)省人員管理維護成本。一鍵創(chuàng)建和銷毀實驗集群多機實驗環(huán)境系統(tǒng)采用分布式集群架構(gòu),多節(jié)點冗余架構(gòu)設計,可面向大數(shù)據(jù)的分布式系統(tǒng),為每個學生提供多機實驗環(huán)境,整個系統(tǒng)理論支持用戶數(shù)量無上限,可為每個學生分配5套實驗虛擬集群,可滿足大量學生同時進行多個實驗,并進行各實驗的相互對比學習。資源最大化利用大數(shù)據(jù)實驗平臺通過對Docker容器技術(shù)的深度應用,可將服務器資源的利用率發(fā)揮到最大,通過幾臺服務器便可構(gòu)建出可供上百學生同時實驗的實驗平臺,大幅度的節(jié)省了硬件投入成本??焖俑咝б讛U展大數(shù)據(jù)實驗平臺采用分布式架構(gòu),支持性能橫向擴展,只需增加節(jié)點服務器即可實現(xiàn)同時上機人數(shù)的擴容,同時也可以通過減少節(jié)點服務來減少同時上機人數(shù),以實現(xiàn)設備的最高效利用。低運維成本xx數(shù)據(jù)實驗平臺可實現(xiàn)大數(shù)據(jù)實驗集群的秒級創(chuàng)建、銷毀,學生在校期間可獨享自己的多個大數(shù)據(jù)集群;實驗環(huán)境損壞只需銷毀重建即可,無需專人維護,大數(shù)據(jù)實驗平臺只需幾臺服務就可以構(gòu)建,設備運維成本很低。教學體系完善xxx數(shù)據(jù)實驗平臺不僅提供可供上百學生同時實驗的教學平臺,還提供了國內(nèi)第一本Hadoop編程書籍的升級版——《實戰(zhàn)Hadoop2.0》及其配套PPT(國內(nèi)知名云計算專家、中國信息協(xié)會大數(shù)據(jù)分會副會長劉鵬傾力打造),以及實驗相關(guān)的實驗手冊,同時可提供實驗所需的大數(shù)據(jù)資源和企業(yè)實訓項目,幫助高校打造完善的大數(shù)據(jù)教學體系。主要實驗介紹快速搭建大數(shù)據(jù)實驗環(huán)境大數(shù)據(jù)實驗平臺采用Docker容器技術(shù),通過少量機器虛擬出成百上千的Hadoop、HBase、Spark、Storm、HDFS等實驗集群,可快速同時為每個學生提供多套集群進行實驗,搭建可供大量學生完成所有大數(shù)據(jù)實驗的集成環(huán)境。例如,60個學生同時在線做大數(shù)據(jù)實驗,只需要小規(guī)模機器(11臺)就可以同時為每個學生提供至少5套集群,每個學生的實驗環(huán)境不僅相互隔離、彼此互不干擾,即使某個學生的實驗環(huán)境出現(xiàn)問題,對其他人也沒有影響,只需要重啟就可以重新?lián)碛幸惶仔录?。因此在我校中心機房部署的大數(shù)據(jù)實驗平臺可以快速給全校各個院系的學生進行大數(shù)據(jù)的實驗,同時各學科數(shù)據(jù)還可根據(jù)自己的需要導入實驗數(shù)據(jù)進行實驗、分析,大數(shù)據(jù)實驗平臺同時可提供外網(wǎng)地址,可提供校外機構(gòu)使用,滿足全校師生的教學需求。HDFS部署實驗HDFS是一種可在通用硬件上運行的分布式文件系統(tǒng),具備高容錯性和支持廉價部署等特點,非常適合大規(guī)模數(shù)據(jù)集上的應用,是大數(shù)據(jù)實驗非常重要的一環(huán)。通過HDFS部署的實驗可以讓學生了解和熟悉HDFS,從而實現(xiàn)以下幾點目的:理解HDFS存在的原因理解HDFS體系架構(gòu)理解master/slave架構(gòu)理解為何配置文件里只需指定主服務、無需指定從服務理解為何需要客戶端節(jié)點學會逐一啟動HDFS和統(tǒng)一啟動HDFS學會在HDFS存儲器里新建文件夾,新建文件HDFS相關(guān)的實驗如下圖所示:HDFS實驗過程YARN部署實驗ApacheHadoopYARN(YetAnotherResourceNegotiator,另一種資源協(xié)調(diào)者)是一種新的Hadoop資源管理器,它是一個通用資源管理系統(tǒng),可為上層應用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。YARN部署實驗,主要分為配置YARN配置文件、統(tǒng)一啟動YRAN、驗證YARN啟動成功和提交簡單的任務。通過實驗可讓學生學會如何搭建YARN分布式集群,并能夠使用YARN集群提交一些簡單的任務,理解YARN作為Hadoop生態(tài)中的資源管理器的意義。YARN部署實驗過程如下圖所示:YARN啟動任務提交實驗終端過程顯示MapReduce實驗MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。概念"Map(映射)"和"Reduce(歸約)",是它們的主要思想,都是從函數(shù)式編程語言里借來的,還有從矢量編程語言里借來的特性。它極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運行在分布式系統(tǒng)上。當前的軟件實現(xiàn)是指定一個Map(映射)函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(歸約)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。MapReduce實驗主要分為單詞計數(shù)、二次排序、計數(shù)器、join操作和分布式緩存5個實驗,具體如下:單詞計數(shù)實驗通過實驗可實現(xiàn)以下目的:理解MapReduce編程思想會編寫MapReduce版本W(wǎng)ordCount會執(zhí)行該程序自行分析執(zhí)行過程本實驗主要分為,確認前期準備,編寫MapReduce程序,打包提交代碼。查看運行結(jié)果這幾個步驟,詳細如下:啟動Hadoop執(zhí)行命令啟動前面實驗部署好的Hadoop系統(tǒng)。[root@master~]#cd/usr/cstor/hadoop/[root@masterhadoop]#sbin/start-all.sh驗證HDFS上目前沒有生成wordcount的文件夾[root@client~]#cd/usr/local/hadoop/[root@clienthadoop]#bin/hadoopfs-ls/#查看HDFS上根目錄文件/此時HDFS上應該是沒有wordcount文件夾。上傳數(shù)據(jù)文件到HDFS[root@client~]#cd/usr/local/hadoop/[root@clienthadoop]#bin/hadoopfs-put/root/data/5/word/編寫MapReduce程序主要編寫Map和Reduce類,其中Map過程需要繼承org.apache.hadoop.mapreduce包中Mapper類,并重寫其map方法;Reduce過程需要繼承org.apache.hadoop.mapreduce包中Reduce類,并重寫其reduce方法。importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduce.Mapper;importorg.apache.hadoop.mapreduce.Reducer;importorg.apache.hadoop.mapreduce.lib.input.TextInputFormat;使用Eclipse開發(fā)工具將該代碼打包假定打包后的文件名為hdpAction.jar,主類WordCount位于包njupt下,則可使用如下命令向YARN集群提交本應用。[root@client~]#./yarnjarhdpAction.jarnjupt.WordCount/word/wordcount其中“yarn”為命令,“jar”為命令參數(shù),后面緊跟打包后的代碼地址,“njupt”為包名,“WordCount”為主類名,“/word”為輸入文件在HDFS中的位置,/wordcount為輸出文件在HDFS中的位置。程序運行成功二次排序通過實驗可實現(xiàn)以下目的:基于MapReduce思想,編寫SecondarySort程序。查看二次排序后結(jié)果。MR默認會對鍵進行排序,然而有的時候我們也有對值進行排序的需求。滿足這種需求一是可以在reduce階段排序收集過來的values,但是,如果有數(shù)量巨大的values可能就會導致內(nèi)存溢出等問題,這就是二次排序應用的場景——將對值的排序也安排到MR計算過程之中,而不是單獨來做。二次排序就是首先按照第一字段排序,然后再對第一字段相同的行按照第二字段排序,注意不能破壞第一次排序的結(jié)果。通過代碼編寫實驗結(jié)果如下:輸入數(shù)據(jù)輸入數(shù)據(jù)如下:secsortdata.txt('/t'分割)(數(shù)據(jù)放在/root/data/6目錄下)7444399997333422377777555366666038888411輸出顯示在client上執(zhí)行對hdfs上的文件/user/mapreduce/secsort/out/part-r-00000內(nèi)容查看的操作[root@clienthadoop]#bin/hadoopfs-cat/user/mapreduce/secsort/out/p*如果屏幕上顯示如下:計數(shù)器通過實驗可實現(xiàn)以下目的:基于MapReduce思想,編寫計數(shù)器程序?;贛apReduce思想,能執(zhí)行計數(shù)器程序和分析執(zhí)行過程。通過代碼編寫和執(zhí)行實驗結(jié)果如下:輸入數(shù)據(jù)輸入數(shù)據(jù)如下:counters.txt(/t分割)(數(shù)據(jù)放在/root/data/7目錄下)輸出顯示屏幕上將會輸出如下信息:join操作通過實驗可實現(xiàn)以下目的:基于MapReduce思想,編寫兩文件join操作的程序?;贛apReduce思想,能執(zhí)行join程序和分析執(zhí)行過程。通過代碼編寫和執(zhí)行實驗結(jié)果如下:輸入數(shù)據(jù)輸入數(shù)據(jù)如下:data.txt(數(shù)據(jù)放在/root/data/8目錄下):輸入數(shù)據(jù)如下:info.txt(數(shù)據(jù)放在/root/data/8目錄下):輸出顯示在client上執(zhí)行對hdfs上的文件/user/mapreduce/MRjoin/out/part-r-00000內(nèi)容查看的操作:分布式緩存通過實驗可實現(xiàn)以下目的:理解序列號與反序列化熟悉Configuration類學會使用Configuration類進行參數(shù)傳遞傳遞;學會在Map或Reduce階段引用Configuration傳來的參數(shù);理解分布式緩存“加載小表、掃描大表”的處理思想通過實驗將一個大為100G的大表big.txt和一個大小為1M的小表small.txt,通過MapReduce思想編程實現(xiàn)判斷小表中單詞在大表中出現(xiàn)次數(shù)。準備數(shù)據(jù)登錄client機,使用“vi”命令新建文件“/root/big.txt”,接著在該文件里寫入“aaa至zzz”,新建好后,使用cat命令確認文件內(nèi)容:上傳數(shù)據(jù)接著,使用命令將client機本地文件“/root/big.txt”和“/root/small.txt”上傳至HDFS的“/user/root/mr/in”目錄:通過編寫和執(zhí)行代碼實現(xiàn)以下實驗結(jié)果:Hive實驗Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務進行運行。其優(yōu)點是學習成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。HIVE實驗分為部署Hive、新建Hive表、Hive分區(qū),具體如下:部署Hive通過部署Hive實驗可實現(xiàn)以下目的:理解Hive存在的原因理解Hive的工作原理理解Hive的體系架構(gòu)學會如何進行內(nèi)嵌模式部署將元數(shù)據(jù)存儲在HDFS上安裝部署 在client機上操作:首先確定存在hive:配置HDFS先為Hive配置Hadoop安裝路徑,待解壓完成后,進入Hive的配置文件夾conf目錄下,接著將Hive的環(huán)境變量模板文件復制成環(huán)境變量文件。實驗結(jié)果如下:新建Hive表通過部署新建Hive表實驗可實現(xiàn)以下目的:學會創(chuàng)建Hive表顯示Hive中所有的表顯示Hive表中所有的列項修改和刪除Hive中的表啟動Hive執(zhí)行啟動Hive命令 創(chuàng)建表創(chuàng)建一個有兩個字段的pokes表,其中第一列名為foo,數(shù)據(jù)類型為INT,第二列名為bar,類型為STRING。顯示表顯示表列更改和刪除表實驗結(jié)果如下:Spark實驗Spark被定義為一個開源的、基于內(nèi)存計算的、運行在分布式集群上的、快速和通用的大數(shù)據(jù)并行計算框架。它提高了在大數(shù)據(jù)環(huán)境下數(shù)據(jù)處理的實時性,同時保證了高容錯性和高可伸縮性,允許用戶將Spark部署在大量廉價硬件集群之上,以提供高性價比的大數(shù)據(jù)計算解決方案。Spark官網(wǎng)地址是S。通過Spark實驗可以實現(xiàn)以下實驗目的:了解Spark生態(tài)圈,理解Spark體系架構(gòu);學會部署和啟動Spark集群;能夠配置Spark集群使用HDFS實驗過程如下:每位學生通過Spark實驗構(gòu)建出Spark集群,在master上部署主服務Master;slave0、1、2上部署從服務Worker;client上部署Spark客戶端,搭建好集群后,提交并運行Spark示例代碼WordCount,將client上某文件上傳至HDFS里剛才新建的目錄。配置Spark集群在master機上編輯Spark的slaves文件,通過文件編輯了解和熟悉Spark原理。配置HDFS通過配置HDFS將將Spark環(huán)境變量模板復制成環(huán)境變量文件,讓學生可以具備配置HDFS使用Spark的能力。提交Spark任務通過在client機上操作,使用Shell命令向Spark集群提交Spark-App,學會部署和啟動Spark集群。實驗結(jié)果通過執(zhí)行命令查看實驗結(jié)果如下:綜合實戰(zhàn)實驗交通大數(shù)據(jù)實驗隨著現(xiàn)代城市的發(fā)展進程,交通問題越發(fā)嚴峻,通過大數(shù)據(jù)手段解決交通問題是未來的必然趨勢,通過交通大數(shù)據(jù)實驗,增加學生在交通行業(yè)大數(shù)據(jù)的實戰(zhàn)經(jīng)驗。具體實驗目標:基于MaoReduce思緒,編寫車牌識別程序;實現(xiàn)對某地監(jiān)控圖片中的車牌識別;基于大數(shù)據(jù)分析實現(xiàn)對外省車輛的統(tǒng)計;完成對套牌車輛的識別工作,并得出結(jié)果。實驗過程如下:實驗原理實驗手冊提供詳細的編程示例,該實戰(zhàn)實驗主要是通過利用WordCount思想,在Reduce階段不輸入“蘇”車牌即可,對于套牌車輛的識別,Map階段與WordCount是一樣的,在Reduce階段統(tǒng)計相同車牌的情況,部分編程示例如下:編程示例環(huán)境準備將實驗數(shù)據(jù)上傳到HDFS,包括兩個部分,一部分是車牌照片和車牌對應的plane.ext文件。新建對應目錄后,將動態(tài)庫所需要的配置文件拷貝至Hadoop根目錄下。將代碼打包提交后實現(xiàn)以下實驗結(jié)果:查看外省車輛統(tǒng)計情況:查看套牌車輛情況調(diào)取套牌車輛圖片互聯(lián)網(wǎng)數(shù)據(jù)處理隨著移動互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)產(chǎn)生了爆炸性的數(shù)據(jù)量,通過互聯(lián)網(wǎng)數(shù)據(jù)處理實戰(zhàn)實驗可實現(xiàn)以下目標:使用分布式的思想對數(shù)據(jù)進行清洗、處理;考慮大數(shù)據(jù)的環(huán)境,對數(shù)據(jù)處理的方法進行優(yōu)化;利用大數(shù)據(jù)的思路,了解通用搜索引擎的流程;了解Hbase的索引建立,了解互聯(lián)網(wǎng)數(shù)據(jù)爬取。實驗原理首先從淘寶的網(wǎng)頁中爬取部分商品信息,然后從這些信息中提取我們所需要的幾項數(shù)據(jù),將其存儲在Hbase中,然后通過關(guān)鍵詞搜索將這些數(shù)據(jù)提取出來。新建createindex項目新建createindex的項目主要分為幾個步驟,新建Hadoop任務和Map類和Reduce類,新建任務類,項目目錄結(jié)構(gòu)如下:部分代碼如下:新建demoJavaWeb項目該項目的主要作用是提供Web界面爬取淘寶數(shù)據(jù)和搜索數(shù)據(jù),目錄結(jié)構(gòu)如下:建立關(guān)鍵詞索引通過搜索的內(nèi)容,并輸入想選取的項數(shù),然后點擊搜索,就會彈出想要的關(guān)鍵詞數(shù)據(jù)。實驗結(jié)果爬取結(jié)果如下:建立索引任務如下:搜索結(jié)果展示如下:精確營銷當下,各種資訊呈爆炸性增長態(tài)勢,如何從海量的電影世界中迅速推送適合個體觀眾的電影,已經(jīng)成為每一個電影網(wǎng)站或搜索引擎必須要實現(xiàn)的功能之一。通過實驗可實現(xiàn)以下目的:了解常用的基于矩陣分解的協(xié)同過濾推薦算法的基本原理掌握SparkMLlib中對基于模型的協(xié)同過濾算法的封裝函數(shù)的使用對Spark中機器學習模塊內(nèi)容加深理解根據(jù)提供的電影評分數(shù)據(jù),利用Spark進行訓練,得到一個最佳推薦模型用實際數(shù)據(jù)和平均值這兩方面評價該模型的準確度根據(jù)我的評分數(shù)據(jù)向我推薦10部電影實驗原理協(xié)同過濾算法按照數(shù)據(jù)使用,可以分為:

1)基于用戶(UserCF)

2)基于商品(ItemCF)

3)基于模型(ModelCF)按照模型,又可以分為:最近鄰模型:基于距離的協(xié)同過濾算法LatentFactorMode(SVD):基于矩陣分解的模型Graph:圖模型,社會網(wǎng)絡圖模型本次實驗,使用的協(xié)同過濾算法是基于矩陣分解的模型,就是基于樣本的用戶喜好信息,訓練一個推薦模型,然后根據(jù)實時的用戶喜好的信息進行預測,計算推薦。ALS是alternatingleastsquares的縮寫,意為交替最小二乘法,該方法常用于基于矩陣分解的推薦系統(tǒng)中。對于一個R(觀眾對電影的一個評價矩陣)可以分解為U(觀眾的特征矩陣)和V(電影的特征矩陣),在這個矩陣分解的過程中,評分缺失項得到了填充,也就是說我們可以基于這個填充的評分來給用戶最商品推薦了。MLlib支持基于模型的協(xié)同過濾算法,其中user和product對應圖中的user和movie,user和product之間有一些隱藏因子。MLlib使用\t"/2015/11/30/movie-recommendation-for-douban-users-by-spark-mllib/_blank"ALS(alternatingleastsquares)來學習得到這些潛在因子。數(shù)據(jù)集準備在本地文件/data/39/movie下有本次實驗數(shù)據(jù)集,文件列表如下:各文件數(shù)據(jù)格式如下(詳細見README文件):1)用戶數(shù)據(jù)(users.dat)用戶ID::性別::年齡::職業(yè)編號::郵編6031::F::18::0::451236032::M::45::7::551086033::M::50::13::782326034::M::25::14::941176035::F::25::1::787346036::F::25::15::326036037::F::45::1::760062)電影數(shù)據(jù)(movies.dat)電影ID::電影名稱::電影種類3943::Bamboozled(2000)::Comedy3944::Bootmen(2000)::Comedy|Drama3945::Digimon:TheMovie(2000)::Adventure|Animation|Children's3946::GetCarter(2000)::Action|Drama|Thriller3947::GetCarter(1971)::Thriller3948::MeettheParents(2000)::Comedy3949::RequiemforaDream(2000)::Drama3)評分數(shù)據(jù)(ratings.dat)用戶ID::電影ID::評分::時間6040::2022::5::9567162076040::2028::5::9567045196040::1080::4::9577173226040::1089::4::9567049966040::1090::3::9567155186040::1091::1::9567165416040::1094::5::9567048876040::562::5::9567047464)我的評分數(shù)據(jù)(test.dat),格式同評分數(shù)據(jù)(ratings.dat)將以上數(shù)據(jù)上傳到HDFS文件系統(tǒng):cd/use/cstor/hadoop/binhdfsdfs-copyFromLocal/data/39/movie//實驗結(jié)果代碼執(zhí)行過程中打印日志信息如下:所有數(shù)據(jù)數(shù)量統(tǒng)計圖評分數(shù)據(jù)切分的各數(shù)據(jù)集統(tǒng)計圖訓練時的參數(shù)及對應的誤差圖最佳模型的參數(shù)及對應的誤差圖均值預

溫馨提示

  • 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

提交評論