2019年安徽省大数据与人工智能应用赛总结---本科组

前言

2019年安徽省大数据与人工智能决赛于10月13日在安徽省职业经济管理学院举办。现场赛共计90支队伍,经过4个小时的激烈追逐,我们组获得了22名的不错成绩,荣获省级二等奖 。严格意义上说,这是我第一次参加省级比赛,因为缺少比赛经验,所以过程异常艰辛,但是收获也很多。正式收到比赛通知是6月底,之前对大数据没有过了解,但是却十分感兴趣,所以想去尝试一下。于是跟随着老师去了合肥工业大学进行了两天的培训。跟我一同去的是学校的两个“大佬”,比赛经验丰富,相对他们而言,我有着明显的差距。 在培训阶段搭建hadoop环境阶段已经让我手忙脚乱,当时自己连简单的linux基础都不会, 但是正因为这次的培训激起了我浓厚的学习兴趣。于是,暑假一到来,我就投入到紧张的学习中,从liunx基础 到hadoop 再到hive 和hbase等,一点点进步,在这期间也开始了第一次csdn博客的撰写,第一次使用linux系统。暑假过后,我们就进入了初赛的选拔,初赛是网络赛,比赛时间6个小时,参赛队伍大概有220队左右,最终我们队有幸取得了33名的成绩成功晋级。下面就来介绍一下初赛的相关。

初赛

初赛的题目类型以及评分标准如下所示

  • 大数据平台部署 根据要求完成大数据平台的部署,并能够对部署环境的平台参数进行调试 初赛考察了hadoop和hive的搭建占比10%
  • 大数据预处理 给给定的数据进行预处理,使的数据准确,完整一致 。初赛这部分要求用mapreduce来处理 占比25%
  • 大数据分析 在已经搭建好的平台上进行数据的分析 占比20% 主要是运用hive进行分析
  • 大数据可视化 在给定的数据进行可视化展示,并能够对可视化结果进行解读说明 可以基于java,如echars 也可以是python出图。占比15%
  • 人工智能技术应用 主要是完成人工智能平台的部署 并能够对部署的平台参数进行调试 占比 10%。
  • 综合案例 主要运行spark进行数据处理
    因为暑假只有短短的一个半月,所以没有时间将考纲的内容全部考虑到,所以在综合案例的20分也就是spark进行处理时失分严重。

决赛

决赛的题目和初赛的题型几乎是一样的,唯一的区别就是预处理部分没有强制的让我们使用spark还是mapreduce。所以spark的学习还是很重要的,spark相对于mapreduce来说是一种更高效的计算框架。spark可以基于多种语言开发,如scala,python,java 甚至R语言。但比赛只提供了python java和scala相关jar包 ,所以在学习过程中选择三种之一就可以,个人推荐scala和python。下面说一下决赛的一些注意点

  • 比赛平台机器很卡,做好心里准备,有时候可能eclipse都能卡住半个小时之久,所以心态很重要,坚持下去你就胜利了一半。
  • 决赛是断网的,但是可以带纸质材料,所以在平时的学习过程中要学会做笔记,在现场时可以将自己的笔记打印带过去方便查找。
  • 分工 。比赛是提供5台虚拟机 三台是用于搭建环境,另外两台是用于解题。解题和搭建环境是同时在不同机器上进行的。所以团队之前一定要做好分工.

重点部分介绍

  • 环境的搭建
    搭建环境主要是Hadoop和hive,因为这都是基于linux系统,所以linux基础的命令必须要熟悉。推荐可以去看小牛学堂的视频,讲解的很详细。基础的考试应用的linux操作包括:sudo,长,mkdir,ls,ssh,scp,vi,rm -rf,cp,tar -zxvf,mv等。

  • 预处理部分
    预处理部分主要是应用mapreduce和spark进行数据的处理,包括数据的去重,排序,和分区分组,以及求最值等。mapreduce是基于java的一种计算框架,所以java基础一定要牢固。spark提供了很多算子,是一种“聪明”的计算框架,相比mapreduce而言,处理效率高出很多。

  • 数据分析阶段
    数据分析阶段主要运用的是hive进行数据分析,hive大部分知识点在hive-SQL。把sql数据库学好还是由必要的。掌握MySQL的基本命令行操作,SQL语句。熟练的使用Hive数据仓库和HQL。比赛时,我们那个赛场,用Python的队伍很多,实话说Python在大数据中的优势地位真的很大。数据挖掘,分析,处理,可视化都能用。后期我也会深入学习Python,这个当今很流行的语言。

学习进阶之路

  • 资料获取
    刚开始学习大数据时,仅仅看着同学分享给我的小牛学堂的视频。看完了视频后发现练习的实例很少,只能说熟悉基本了解了大数据相关阶段,但是对于比赛的强度和深度来说,这点知识是远远不够的。于是自己寻找了一些大数据相关视频和资料。找资料期间,访问了很多网站,比如:千锋大数据,尚学堂,传智播客,bibi,还有网易云课堂,厦门大学林子雨实验室等。经过一番的对比试听,找到了大数据各阶段相对来说比较不错的几个视频。hadoop阶段(包括linux部分)推荐小牛学堂的视频,讲解的很细致,很适合小白入门。同时这一阶段,尚学堂的视频可不错,尤其是尚学堂的几个mapreduce的讲解视频,很细致透彻。但是唯一的缺点就是每一集的视频时间过长,都是1个小时左右。hbase和hive阶段推荐传智播客的视频。spark阶段(scala)版推荐林子雨的视频,可以在bibi和网易云课堂上搜索到。看完视频,可能还不够,要想了解的更深入必须要花时间去多练习,并且研读书籍。这里可以去学校的图书馆借阅。

  • 学习优良习惯
    之前学习java的时候,在一个学期的时间里敲了很多代码,做了几个小项目。但是由于当时没有一个良好的学习习惯,导致后期复习的时候根本看不懂自己写的代码。吸取了教训,在这次大数据的学习过程中,我学会了分类整理,我把每一阶段的内容都分类做了笔记,并且把这部分笔记内容是出自那个视频的都写在了开头便于后期复习查看。把代码都重点加了注释,甚至包括代码类和包的名称都有了规范。最最重要的学习习惯就是养成了写csdn的好习惯,在学习过程中,可能会遇到一些问题,有的问题可能会困住你一天甚至几天的时间,当你解决了这些问题后,把它们记录并且分享是一件很有必要的事情。写博客的过程中不仅能加深印象方便自己以后查找,同时也能把自己的知识分享给别人。这是一种很奇妙的感觉,也从侧面促进了我的学习。

  • 比赛总结
    这次比赛因为平时一个不好的习惯,失去了很多分。说出来连自己都不相信,就是写spark程序的时候导scala相关程序包这个看似再简单不过的事情。平时练习的时候太过依赖spark-shell,当时觉得用eclipse写spark,又要安装scala插件,又要导包很麻烦,于是一直依赖spark-shell,自认为比赛的时候肯定能启动spark–shell,可是。。。。。结果大家都预料到了,比赛时候scala的相关包不会在eclipse部署,导致在综合案例和数据处理相关可以用spark的部分丢了很多本该能拿到的分,自己平时进行了大量的spark练习,但没想到连“门”都没进去,以至于和省一擦肩而过。所以说,细节决定成败,在平时的练习中,一定要不放过任何一个细节,否则当他影响到你的时候,你的后悔是无法挽回局面的。强烈建议大家熟练掌握maven和手动导入相关依赖包。(这里主要针对mapreduce和spark)!!!下面分享2018年的大数据竞赛试题和1019年网络赛试题供大家学习!

你可能感兴趣的:(大数据)