**
河北省大数据应用创新大赛样题
**
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
进入实训环境
你的答案:
上传答案附件