2020 Anhui Big Data and Artificial Intelligence Application Competition

2020 Anhui Province Big Data and Artificial Intelligence Application Competition Volume A

2020年安徽省大数据与人工智能应用竞赛A卷
学校名称:       队伍名称:              队伍编号:           

第一部分:大数据平台搭建与运维(10分)
场景说明
目前,大数据技术及应用已经深入到各行各业,各高校也在积极建设信息化、智慧化校园,那么大数据中心建设必不可少,它可以服务于学校上游和下游,解决数据孤岛问题。假设现在某大学正在假设大数据中心,首先搭建大数据基础平台,用于数据存储和批量计算以及实时查询,现在请你完成Hadoop、Spark、Hive三个大数据框架的搭建及运维:
要求:使用不少于三个节点,进行比赛,一个为主节点,其他为从节点
要求主节点 主机名为 ahdsj2020amaster,各从节点分别名称为ahdsj2020aslave1,ahdsj2020aslave2

任务一、Hadoop安装(5分)
1、配置 hosts实现主机名和ip地址映射。截图hosts文件配置内容(0.5分)
# cat /etc/hosts


2、配置SSH免密登录(截图成功ssh登录到子节点截图)(0.5分)
使用ssh登陆子节点:
# ssh ahdsj2020aslave1 


# ssh ahdsj2020aslave2 


3、安装配置JDK(截图java -version命令)(0.5分)
# java -version

4、解压Hadoop安装包并修改配置文件(0.5分)
命令:

截图:


5、配置环境变量(截图profile文件配置的关键位置)(0.5分)
命令:


截图:


6、拷贝hadoop到其他的机器上(截图拷贝命令)(0.5分)
命令:


截图:

7、初始化hadoop集群(截图执行命令)(1分)
命令:


截图:



8、启动Hadoop集群(启动成功后执行jps命令,截图主节点和子节点的进程)(1分)

启动命令:


截图:

验证启动结果:
# jps
主节点进程截图:

两个从节点进程截图:



任务二、配置spark集群环境(5分)
1、解压spark、修改Spark的配置文件(3分)
1)	解压命令,进入解压后的目录 执行 ll -li命令 并截图(0.5分)

命令:


截图:

2)	spark配置环境变量 配置项截图(1分)

命令:


截图:

3)	编辑spark-env.sh文件,命令以及配置项截图(1分)

命令:


截图:

4)		编辑slaves,添加子节点的主机名,命令以及结果截图 (0.5分)
命令:


截图:

2、启动spark集群(2分)
1)	分别在主节点 和从节点执行 jps 命令并进行截图
启动命令:

截图:
#jps
master节点截图 :

slave1节点截图:

slave2节点截图:

2)	在主节点 执行 spark-shell 命令并进行截图
# spark-shell           
    截图: 
             
    
第二部分:大数据程序编写部分(20分)
	  
数据文件 某公司订单,退货数据,其中order.csv为订单数据,return是退货数据。
订单数据格式为:
订单ID	订单日期	省/自治区 产品ID 类别  销售额	数量	折扣	利润
退货数据格式为 :
订单ID	退回
1、	对订单数据中的订单日期进行格式化,并派生出年,月,日三个字段,对订单数据和退货数据两个数据进行join,合并后数据 在订单数据基础上增加 是否退货一列,并把合并后的数据输出到 dsjjs2020a(10分)
输出数据的格式为:
订单ID	订单日期 年 月 日	省/自治区 产品ID 类别 销售额	数量	折扣	利润 是否退货

2、	统计 分组分析(10分)
1)	计算order.csv中 各省的总销售额和总利润 要求销售额降序(5分)
返回格式(省,销售额,利润)


结果截图:

代码截图:

2)	统计order.csv中 每个类别利润最好的前3条记录,信息(5分)
返回格式(订单日期,产品id,类别,销售额,利润)
结果截图:


代码截图:
 
第三部分:大数据分析(20分)
Hive作为基于hadoop的海量数据处理工具之一,在企业中有广泛应用。可以将复杂的MapReduce计算逻辑使用SQL逻辑处理。

数据      
1、 创建一个数据库,以你的组名命名,创建成功后使用use命令切换为该库,并执行set hive.cli.print.current.db=true;截图作为答案(2分)
1)命令截图:



2)执行命令结果截图:


2、在HIVE中创建需要的表,并写出建表语句,表结构如下:(3分)
(1).学生资料表(student)
字段	字段描述	字段类型
s_id	学生ID	   	int
s_name			学生姓名	 	String
s_sex	学生性别	String
s_age			      	学生年龄		   	int
s_dept  	所在系	   	String
(2).课程表 (course)
字段	字段描述	字段类型
c_id	课程ID	int
c_name	课程名称	String
(3)考试成绩表(sc)
字段	字段描述	字段类型
s_id	学生id	int
c_id			    	课程id	int
score			      	成绩	int

1)	创建hive表 语句截图:


2)	创建成功,执行show tables;截图;



3、将数据加载到表中,写出加载数据的语句(3分)
数据文件名称分别与表名称对应,(字段分隔符为,),注意,linux系统和hive默认不支持中文,要自己设置成utf-8编码才可以支持中文。
1)	导入命令截图;

2)执行 select * from table_name 并截图(其中table_name 为前面创建的表名)
执行 select * from student; 截图

执行select * from sc; 截图


执行select * from course; 截图


4、利用hive进行数据分析查询(12分)。
1)查询各科成绩平均分(1分)

sql语句截图:


sql语句结果截图:

  	
2)查询选修1号课程的学生最高分数(1分)  

sql语句截图:



sql语句结果截图:

  	

  
3)查询每个学生及其选修课程的情况 (1分)

sql语句截图:



sql语句结果截图:
	


4)查询选修了3门以上(包含3门)的课程的学生学号(4分)

sql语句截图:




sql语句结果截图:
  	


5)查询每门课程成绩前两名的学生信息(5分)

sql语句截图:


sql语句结果截图:
  	 
第四部分:可视化(15分)
分析某公司订单数据
数据:  
要求用以上数据集合做可视化数据分析,并给出根据图形的结论:
数据说明:
Order.csv是订单数据 订单数据格式为:
订单ID	订单日期	省/自治区 产品ID 类别  销售额	数量	折扣	利润

1、根据订单数据 使用柱状图绘制销售额年变化情况,并给出分析结论(4分)
1)	结果截图(3分)

2)	分析结论(1分)

3)	代码截图


2、根据订单数据 使用散点图绘制销售额和利润额关系情况,观察是否存在线性关系,并给出分析结论(4分)

1)	结果截图(3分)

2)	分析结论(1分)

3)代码截图


3、根据订单数据 绘制各省、不同类别、销售额层叠对比图,并给出分析结论(7分)
1)	结果截图(6分)

2)	分析结论(1分)

3)	代码截图


 
第五部分 人工智能(20分)
目前人工智能技术广泛应用于各个场景,如分类聚类,图片图像识别,音视频检测等等。下面请你搭建人工智能中深度学习常用的框架之一 TensorFLow 并完成简单测试任务,本次实验在Linux环境下安装TensorFlow。
一、TensorFlow安装(6分)
1、安装Python3环境(3分)
1)	执行命名截图

2)	python -V命令结果截图

2、安装 tensorflow (3分)
1)	执行命令截图

2)	命令结果截图

二、TensorFlow编程实现(14分)
1、 请你构建一个简单的tensorflow图计算(4分)
  两个常量点(5.4)、(3.6),请你创建对两个 Tensor 执行 -(减法) 操作
请提供代码及截图

代码截图:


结果截图:


2、客户流失建模(8分)
客户流失已成为每个希望提高品牌忠诚度的公司重点关注的问题,本文基于某电信公司流失客户数据集,尝试使用Python 3.7构建机器学习预测模型,预测该公司哪类客户更容易流失,以帮助公司针对该类客户制定相应的预防流失措施。
数据说明:
字段名称	字段类型	中文名称和注释
USER_ID	VARCHAR(16)	用户标志(两文件里的用户标志没有关联性)
FLOW	DECIMAL(16)	当月流量(Byte)
FLOW_LAST_ONE	DECIMAL(16)	上一月流量(Byte)
FLOW_LAST_TWO	DECIMAL(16)	上两个月流量(Byte)
MONTH_FEE	DECIMAL(18,2)	当月收入(元)
MONTHS_3AVG	DECIMAL(18,2)	最近3个月平均收入(元)
BINDEXP_DATE	DATE	绑定到期时间
PHONE_CHANGE	INTEGER	当月是否更换终端
AGE	INTEGER	年龄
OPEN_DATE	DATE	开户时间
REMOVE_TAG	CHARACTER(1)	用户状态(‘A’:正常,其他异常)(验证集中不提供此字段)

数据:  
请你使用 当月流量,上一月流量,上两个月流量,当月收入,最近3个月平均收入 这些列来预测 用户的状态。 
请你从python相关库中导入获取,实现一个简单的二值分类器对数据进行训练(提供相关代码和输出结果)
代码截图:

3、请绘制分类器拟合曲线图(代码和结果图)(2分)
结果截图:


代码截图:


 
第六部分:综合题目(15分)
1、Mapreduce和Spark的都是并行计算,那么他们有什么相同和区别(5分)
答: 

2、利用spark完成下面的统计分析(10分)
数据为某网站的访问日志:
 
字段分别为  ip 时间  操作方式以及访问地址 返回状态码 数据量字节数
源码: 
1:计算独立IP数(2分)
结果截图:

代码截图:

2:统计每个图片独立IP数 (图片为地址中含有.png)(4分)
结果截图:

代码截图:


3:统计一天中每个小时的流量(4分)
结果截图:

代码截图:


word file format

链接: https://pan.baidu.com/s/1Nt2RmM9oOmNcssVCvzy2Ug 提取码: sjer 

Guess you like

Origin blog.csdn.net/VariatioZbw/article/details/112344831