2018年全国信息安全竞赛-安徽省大数据与人工智能应用类竞赛(本科组)--心得总结

2018年全国信息安全竞赛-安徽省大数据与人工智能应用类竞赛(本科组)--心得总结

距离比赛结束近一个月了,比赛定于10月13-14日在安徽工业经济职业技术学院举行。最终取得了14名的成绩获得了二等奖。想想有必要写下这次比赛的一些心得体会。以前听到大数据觉得比较虚无缥缈,但却对其一直有一份好奇,可能正是因为这种好奇,让我有幸的参加了这次大数据竞赛,最终确定组了团队代表学校参赛。真正准备的时间准确的说只有一个月,从开学开始,但这一个月真的学到了很多很多未知的东西。第一次学会安装双系统,第一次写CSDN博客,第一次改装自己的电脑,第一次对大数据有了新的认识,第一次那么疯狂的学习和吸收知识。我想这次比赛给我带来的收获是巨大的,激发了我对计算机的兴趣,体会了团队分工合作的重要性,以及坚持不懈去学习新的知识。

一、竞赛相关信息:

  • 竞赛环境:

竞赛操作系统:CentOS、编程语言:Java、Python、JavaScript。集成环境为PyCharm和Eclipse。

  • 竞赛内容:
  1. 大数据平台部署,根据要求完成平台环境搭建和测试15%
  2. 大数据预处理,对给定的数据(数据并不完整,有重复等)进行预处理,使得数据准确、完整、一致、可用,并能够对数据格式进行转换。30%
  3. 大数据分析,进行数据分析20%
  4. 大数据可视化,对给定数据进行可视化展示,对可视化结果进行解释说明15%
  5. 综合题,对给定的数据集,应用大数据预处理、大数据分析与挖掘等技术,求解一个给定的问题20%

二、个人心得体会

  • 操作系统

学习大数据需要熟悉并掌握Linux操作统。Linux操作系统有很多版本:Ubuntu、Fedora、Debian、Centos等,比赛所用的操作系统是带图形界面的Centos6.8。可以说系统环境是一开始学习的最大障碍,这对我们来说还是未知的。由于电脑配置原因,我开始并没有尝试用虚拟机安装Linux操作系统,而是选择安装Ubuntu双系统。期间虽然各种问题各种坑,但是最终成功解决了Ubuntu18.04系统相关问题,熟悉Linux操作系统,掌握了一些基础的Linux命令:sudo、wget、cd、mkdir、ls、ssh、scp、vi、rm -rf、source、ifconfig、cp、tar -zxvf、mv等。有了环境搭建的前提。同时也让我写了第一篇CSDN博客,学会通过博客将自己解决问题的方法分享给他人,通过博客记下重要的笔记便于自己以后的回看,深入理解,分享一些自己的东西。

  • 大数据平台部署(云服务器)

我准备的大数据环境包括:Hadoop、Zookeeper、HBase、MySQL、Hive、Spark、Sqoop、Flume的部署安装。实际问题双系统的Ubuntu只能解决Hadoop的伪分布式单节点安装,并不能解决Hadoop的完全分布式搭建。期间在学校大数据实验室网站上练习和熟悉了Hadoop的完全分布式搭建。因虚拟机比较吃电脑配置,后来决定使用云服务器安装和部署所需的大数据环境。因为是学生有优惠,分别在阿里云,百度云,腾讯云各租了一台云主机,系统是Centos7.0+,没有6.8版本的了。6.8和7.0+除了防火墙命令不同,其余命令几乎相同。6.8为iptables,7.0+是firewall。毕竟只有我使用了云服务器来搭建,当然也是遇到了各种问题,详细内容便不记录于此,博客中有记录。因为当时时间比较紧迫就没有改装电脑配置,赛后,我第一次改装自己的电脑,自己安装了8g内存条,以及128g固态硬盘。对电脑硬件配置有了些了解,也对今后的大数据学习有所帮助,毕竟之前是租的云服务器。大数据平台环境部署准备基本完成了。接下来就是反复练习搭建,前期每次搭建几乎都会遇到新的问题,然后一个一个去解决。比赛前我们进行了两次模拟计时演练,这是必要的,基础分当然要确保完全拿到。

  • 大数据预处理和分析

大数据预处理和分析需要用到Java和Python,我们赛前准备的Java进行MapReduce处理,比赛时并没有用上。这次是利用Spark,Python和Hive进行预处理和分析。Spark和Hive我们准备的并不充分,只准备了Spark环境的搭建,Hive环境的搭建以及基本操作。这一部分丢分比较严重,所以后面要深入学习大数据,这部分是重点,掌握MySQL的基本命令行操作,SQL语句。熟练的使用Hive数据仓库和HQL。比赛时,我们那个赛场,用Python的队伍很多,实话说Python在大数据中的优势地位真的很大。数据挖掘,分析,处理,可视化都能用。后期我也会深入学习Python,这个当今很流行的语言。

  • 大数据可视化

大数据可视化可以使用D3.js,Echarts,Highcharts对数据进行可视化,这部分不是很难,熟练的掌握js会占有很大的优势。相关官网也给出了实例和教程。比赛使用的是Echarts,我们准备的也是Echarts,有很多图的模板,如:折线图、柱状图、饼图、散点图等,竞赛时出的是一道折线图和一道雷达图,这部分资料我们没有准备充分,我们做出来了折线图,漏掉了雷达图。

  • 综合应用题

不是很难,对数据进行分析,处理,最终用spark进行精确度计算。不过由于时间原因要进行题目复查,有些数据处理的不够,最终分析的精确度有些差异。

  • 资料获取

开始有的资料仅仅只是些电子文档,后来老师推荐了厦门大学实验室网站,里面有不少大数据学习的资料。学校的实验室网站也有不少资料。但这些根本不够,用纸质资料去学习会遇到很多问题。个人比较偏爱视频资料和纸质资料结合看。可以说这一个月,学校图书馆五楼有关大数据的图书我基本都看了一遍,一些有用的借回来读,一次6本,读完再借。当然这么短时间并不能掌握,只能说对竞赛中的每一部分有了些概念性的了解,毕竟书本的实践性不强。所以就找了一些视频学习网站,如:腾讯课堂、慕课网、千峰网、尚学堂等,对每一部分进行视频学习。建议视频与纸质档或者电子档资料结合看效果更好些。

  • 问题解决

整个比赛历程,从赛前到赛时都会遇到各种各样你会意想不到问题。装双系统误删Windows,双系统grub开机引导,Hadoop环境搭建,SSH免密登录,不连网的情况下安装MySQL,云服务器挖矿程序,hosts文件中服务器公私网ip问题等等,有的问题几小时,有的问题甚至可以困扰你几天,但是不能太固执己见,解决不了就要换种方法换个思路去尝试或者避免。比赛时遇到不会的问题需要灵活处理,比如一些数据量小的数据,实在不会处理,可以手动筛选,占时也不多。养成习惯,问题解决后,记下来解决方法,笔记文档保留,下次再碰到就能迎刃而解,也可以分享给他人,帮助别人解决问题。这也是我写博客的原因。后期我会写一个属于我自己的博客,将我的笔记,理解,经历分享在上面。

  • 团队合作

团队合作真的真的真的很重要。首先大家的分工要很明确,因为时间很短,一个人不可能完成很多事,分工合作会大大提高效率。一个团队,几个志同道合的人有缘聚在一起,大家相互学习,相互鼓励,会给整个队伍中的每个人带来精神支撑,你不是一个人在奋斗。这也让我学会了团队间的沟通交流以及必要的鼓励。

  • 不足之处

总结本次竞赛的不足之处后期都要深入学习。

  1. HiveQL(Hive的SQL语句)掌握不好,也可以说是MySQL的SQL语句掌握不好吧。Hive操作和MySQL操作很多类似。平时习惯了使用Navicat对MySQL进行图形化界面操作,对MySQL的命令行操作甚至一些基本SQL语句都不了解。
  2. Spark准备不充分,数据分析那块丢分严重。Spark还涉及Python和Scala语言。
  3. 环境搭建这块,对环境的操作很熟,但是对HDFS,HBase,Hive,Spark等每一部分的概念、理解不够。
  4. 缺少相关综合性实例或实验的练习,每一部分都是分开找资料学习的,平时练习也缺少一些综合性数据分析和处理练习。

三、总结

经历过这次比赛,总的来说收获很大。不仅激发了学习的兴趣,也掌握了一些适合自己的学习方法,提升了自己的能力。通过这次比赛,我学会了把学习目标变成某一小块,某段时间段内专心这一部分,解决后再去下一部分。养成了写博客的习惯,变向的记录心得,笔记,回看时便会更加深入的理解。学会融入团队,相互学习,相互交流,相互鼓励。这些有着共同爱好和志向的人,今后可能会成为帮助你的好朋友。还有就是要坚持不懈的去完成一件事,喜爱它,并为之付出。今后的路还很长,还需继续学习......

你可能感兴趣的:(2018年全国信息安全竞赛-安徽省大数据与人工智能应用类竞赛(本科组)--心得总结)