**
河北省大數據應用創新大賽樣題
**
1. 在Linux下安裝Java并搭建完全分布式Hadoop集群。在Linux終端執行命令“initnetwork”,或雙擊桌面上名稱為“初始化網絡”的圖標,初始化實訓平臺網絡。
【數據獲取】
使用wget命令獲取JDK安裝包:
“wget -P /data http://house.tipdm.com/SZ-Competition/jdk-8u281-linux-x64.rpm”
使用wget命令獲取Hadoop安裝包:
“wget -P /data http://house.tipdm.com/SZ-Competition/hadoop-3.1.4.tar.gz”
使用wget命令獲取yarn-site.xml:
“wget -P /data http://house.tipdm.com/SZ-Competition/yarn-site.xml”
(運行引號中的所有代碼可將數據上傳到實訓平臺)
【文件讀取路徑】
“/data/jdk-8u281-linux-x64.rpm”
“/data/hadoop-3.1.4.tar.gz”
“/data/yarn-site.xml”
【答案提交】
根據賽題提供的“問題1答案報告(模擬試題).docx”文檔,將最終答案的實現命令、運行截圖整理入文檔,并以“手機號+問題1”命名進行提交,如“XXX+問題1”文件名。31分
(1)在master節點下,執行命令安裝JDK1.8。對安裝進度100%的結果進行截圖。1分
(2)編輯“/etc/profile”文件,添加Java的環境變量,并且使配置生效。對添加至“/etc/profile”文件的內容進行截圖。1分
(3)將JDK安裝包發送至slave1與slave2節點,在slave1與slave2節點下安裝JDK并且配置Java的環境變量并使配置生效。對slave1與slave2節點下添加至“/etc/profile”文件的內容進行截圖。2分
(4)在master、slave1和slave2三個節點分別執行“java -version”,驗證JDK安裝成功并對master、slave1和slave2三個節點的輸出結果進行截圖。1分
(5)在master節點下,解壓Hadoop安裝包至“/usr/local”目錄。解壓后使用命令“ll /usr/local/”并對命令運行結果進行截圖。1分
(6)在master節點下,進入“/usr/local/hadoop-3.1.4/etc/hadoop/”路徑,修改Hadoop配置文件“core-site.xml”,設置HDFS的默認地址與端口(fs.defaultFS),設置HDFS的臨時路徑(hadoop.tmp.dir),對配置完成后的“core-site.xml”文件內容進行截圖。2分
(7)在master節點下,修改Hadoop運行環境配置文件“hadoop-env.sh”以及YARN框架運行環境配置文件“yarn-env.sh”,添加Java的環境變量,并設置使用HDFS以及YARN框架的用戶為root。分別對配置完成后的“hadoop-env.sh”和“yarn-env.sh”文件的內容進行截圖。2分
(8)在master節點下,修改HDFS配置文件“hdfs-site.xml”,設置Namenode數據存儲的路徑(dfs.namenode.name.dir)以及Datanode數據存儲的路徑(dfs.datanode.data.dir),設置HDFS文件塊的副本數(dfs.replication)為2。對配置完成后的“hdfs-site.xml”文件內容進行截圖。3分
(9)在master節點下,修改MapReduce配置文件“mapred-site.xml”,設置執行MapReduce作業的框架(mapreduce.framework.name)為YARN,設置MR App Master的環境變量(yarn.app.mapreduce.am.env、mapreduce.map.env和mapreduce.reduce.env),以及設置MapReduce作業所需的類路徑CLASSPATH(mapreduce.application.classpath)。對配置完成后的“mapred-site.xml”文件內容進行截圖。5分
(10)在master節點下,獲取已完整配置的“yarn-site.xml”,復制到Hadoop對應的配置文件目錄并替換。替換完成后打開“yarn-site.xml”對文件內容進行截圖。1分
(11)在master節點下,修改workers文件,設置為slave1與slave2。對workers的文件內容進行截圖。2分
(12)發送master中的Hadoop至slave1與slave2節點。發送成功后分別在slave1與slave2節點上執行“ll /usr/local/”,并對命令的運行結果進行截圖。2分
(13)在三個節點的“/etc/profile”添加Hadoop路徑(HADOOP_HOME),并且使配置生效。對master、slave1、slave2三個節點添加至“/etc/profile”的內容進行截圖。1分
(14)格式化NameNode并啟動Hadoop集群(包括HDFS、YARN和historyserver)。對格式化NameNode的結果進行截圖(即顯示“successfully formatted”字樣),并且對啟動Hadoop集群的命令執行結果進行截圖。3分
(15)在master、slave1和slave2三個節點分別執行“jps”,驗證Hadoop集群啟動成功并且對master、slave1和slave2三個節點的輸出結果進行截圖。3分
附件 問題1答案報告(模擬試題).docx
進入實訓環境
你的答案:
上傳答案附件
2.請依據題目要求運用Python語言采集二手房網址的房源信息,其網址為“http://house.tipdm.com/spider/fyxx/index.html”。
【答案提交】
提交代碼文件(.ipynb格式文件)和采集數據(result2_1.xlsx和result2_2.xlsx)。文件使用壓縮包的形式上傳,并以“手機號+問題2”命名,如“XXX+問題2”文件名。
注:為確保拿到相應分數,請務必提交采集數據result2_1.xlsx和result2_2.xlsx。20分
(1)解析二手房網址,采集前15頁(包含第15頁)二手房具體房源信息網址,并將采集結果存于Excel文件,保存路徑設定為“/data/result2_1.xlsx”,編碼格式為“utf-8”。
6分
(2)采集二手房信息的標題、戶型、朝向、樓層、區域、單價和總價,其中單價和總價不含價格單位,如總價信息為“45”,并將采集數據整理為DataFrame數據框形式。
12分
(3)將數據以“[‘標題’,‘戶型’,‘朝向’,‘樓層’,‘區域’, ‘單價’,‘總價’]”中文名稱設定列名,最終將數據保存為Excel文件,保存路徑設定為“/data/result2_2.xlsx”,編碼格式為“utf-8”。2分
進入實訓環境
你的答案:
上傳答案附件
3.基于二手房房價數據,根據題目要求運用Python語言的數據分析知識對數據進行清洗與挖掘。(文件名及路徑為“/data/SecondhandHouseV3.csv”)
【數據獲取】
①使用wget命令獲取SecondhandHouseV3.csv:
“!wget -P /data http://house.tipdm.com/SZ-Competition/SecondhandHouseV3.csv”
(運行引號中的所有代碼可將數據上傳到實訓平臺)
方法②下載題目附件中的數據,上傳到實訓平臺中
【文件讀取路徑】
“/data/SecondhandHouseV3.csv”
【答案提交】
提交代碼文件(.ipynb格式文件)和處理后的二手房屋數據(result3.csv)。文件使用壓縮包的形式上傳,并以“手機號+問題3”命名,如“XXX+問題3”文件名。
注:為確保拿到相應分數,請務必提交處理后的二手房屋數據result3.csv。20分
(1)刪除數據中含有“暫無”字符與缺失值(NAN)的行數據。4分
(2)對完全重復的行數據進行刪除,只保留第一次出現的重復行數據。3分
(3)刪除“總價”列的價格單位“萬”,僅保留數值,并將其數據類型轉換為浮點型。4分
(4)刪除“總價”列數值大于200的行數據。2分
(5)將“區域”列中的“城關區”改為“城關”。2分
(6)刪除“戶型”、“建筑年代”和“住宅類別”列。3分
(7)完成上述步驟后,將處理后的二手房屋數據保存為CSV文件,保存路徑設定為“/data/result3.csv”,編碼格式為“utf-8”。2分
附件 SecondhandHouseV3.csv
進入實訓環境
你的答案:
上傳答案附件
4.基于二手房房價數據,根據題目要求運用數據挖掘與可視化知識對數據進行統計與基本圖形繪制。(文件名及路徑為“/data/SecondhandHouse_view.csv”)
【數據獲取】
方法①使用wget代碼獲取數據:
“!wget -P /data http://house.tipdm.com/SZ-Competition/SecondhandHouse_view.csv”
(運行引號中的所有代碼可將數據上傳到實訓平臺)
方法②下載題目附件中的數據,上傳到實訓平臺中
【文件讀取路徑】
“/data/SecondhandHouse_view.csv”
【答案提交】
根據賽題提供的“問題4答案報告(模擬試題).docx”文檔,將最終答案的結果圖(統計結果+可視化繪圖結果)整理入文檔,以“手機號+問題4”命名,如“XXX+問題4”文件名,并提交代碼文件(.ipynb格式文件),文件使用壓縮包的形式上傳,并以“手機號+問題4”命名,如“XXX+問題4”文件名15分
(1)繪制不同裝修程度的二手房存量分布環形圖:統計不同裝修程度的二手房數量;根據統計數據,設定環形圖展示百分比(autopct),其中百分比保留小數點后1位(如12.3%);展示環形圖的圖例,指定圖例位于左上角。4分
(2)根據“單價=總價/建筑面積”公式,計算二手房單價,運用分組聚合操作,對“房齡”進行分組,統計各分組“總價”列和二手房單價的平均值,并按照房齡進行排序(從小到大),展示前3行,對展示結果進行截圖。3分
(3)根據題(2)統計結果,繪制二手房不同房齡的平均房價和單價折線圖:將畫布分成2行1列的2個子圖,子圖1繪制不同房齡的平均房價折線圖,子圖2繪制不同房齡的平均單價折線圖;設定x軸和y軸標題;設定x軸刻度標簽(xticks)為具體的房齡數值區間。8分
附件 問題四數據及提交模板.zip
進入實訓環境
你的答案:
上傳答案附件
5.基于二手房房價數據,根據題目要求運用機器學習知識實現數據建模與評估。
(文件名及路徑為“/data/SecondhandHouse_train.csv”)
【數據獲取】
方法①使用wget代碼獲取數據:
“!wget -P /data http://house.tipdm.com/SZ-Competition/SecondhandHouse_train.csv”
“!wget -P /data http://house.tipdm.com/SZ-Competition/SecondhandHouse_test.csv”
(運行引號中的所有代碼可將數據上傳到實訓平臺)
方法②下載題目附件中的數據,上傳到實訓平臺中
【文件讀取路徑】
“/data/SecondhandHouse_train.csv”
“/data/SecondhandHouse_test.csv”
【答案提交】
最終答案需提交代碼文件(.ipynb格式文件)和結果數據(result5_1.csv和result5_2.csv),文件使用壓縮包的形式上傳,并以“手機號+問題5”命名,如“XXX+問題5”文件名。15分
(1)特征編碼:將“SecondhandHouse_train.csv”數據的“朝向”、“樓層”、“裝修”、“電梯”、“產權性質”、“建筑結構”、“建筑類別”、“區域”和“學校”9列數據的類型由字符型轉化為數值型,如“電梯”列,原{‘有’,‘無’}轉化為{1,0}。特征編碼后的數據保存為CSV文件,保存路徑設定為“/data/result5_1.csv”,編碼格式為“utf-8”。9分
(2)模型訓練與評估:使用sklearn估計器構建回歸模型,使用最優模型預測“SecondhandHouse_test.csv”數據總價,提取“id”列和預測的“總價”列,并將提取結果保存為CSV文件,保存路徑設定為“/data/result5_2.csv”,編碼格式為“utf-8”。6分
附件 問題五數據.zip
進入實訓環境
你的答案:
上傳答案附件