山东软件大赛

2 命题方向

每团队3-5人,请使用目前流行的大数据框架与分析挖掘工具,如:Hadoop、Spark、R、Flink、TensorFlow语言等,完成一个实用的软件系统,为行业、企业或个人生活提供有益的支持。选题方向可结合(但不限于)以下方面:

数据处理的形式:

有限的数据集(这也称为批处理)或潜在的无限的数据流(流处理)

批处理:就是存储在你数据库里的数据。 就是离线数据处理

流处理:数据好像流水一样实时的向你的程序中输入 在线的数据处理

分布式:

分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。

首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候
  
分布式系统的概念:
  分布式系统分为分布式计算(computation)与分布式存储(storage)。计算与存储是相辅相成的,计算需要数据,要么来自实时数据(流数据),要么来自存储的数据;而计算的结果也是需要存储的。在操作系统中,对计算与存储有非常详尽的讨论,分布式系统只不过将这些理论推广到多个节点罢了。
  
分而治之的思想:
  那么分布式系统怎么将任务分发到这些计算机节点呢,很简单的思想,分而治之,即分片(partition)。对于计算,那么就是对计算任务进行切换,每个节点算一些,最终汇总就行了,这就是MapReduce的思想;对于存储,更好理解一下,每个节点存一部分数据就行了。当数据规模变大的时候,Partition是唯一的选择,同时也会带来一些好处:
  (1)提升性能和并发,操作被分发到不同的分片,相互独立
  (2)提升系统的可用性,即使部分分片不能用,其他分片不会受到影响

三大分布式计算系统

Hadoop适合处理离线的静态的大数据;
Spark适合处理离线的流式的大数据;
Storm/Flink适合处理在线的实时的大数据

1:java8的stream和flink

请记住,Java流与这些操作之间的最大区别在于,Java 8可以处理内存中的数据并可以访问本地数据,而Flink可以处理分布式环境中群集上的数据

2:Hadoop、Spark flink

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
HDFS:

Hbase:

Hive:

我的想法:当我们点击vue前端写的操作界面按钮时爬虫就会启动,将数据爬取后转化为实时的流放在内存中(期间有分而治之的思想就是分别放到不同的计算机内存中这里用finlk)

(1)互联网数据或者传统信息管理系统数据的获取与分析:对传统的网站或者信息管理系统进行大数据改造,将系统日志或者其他重要信息进行获取,同时进行有效的数据埋点获取关键数据,并将日志与数据存入大数据平台,然后再此之上进行数据管理与分析,并构建一定的功能。如日志异常提醒,数据统计与可视化等等。

(2)网页文本信息的获取与处理:通过对真实网页数据的爬取与搜集,为政府、企业或个人提供有价值的信息,基于社交媒体建立舆论监控系统,基于电影评论建立电影分析系统或者电影票房预测系统。

(3)互联网销售数据的数据分析与挖掘:网络爬虫对某一类专门的产品(IT网课,考研课,机票)或者阿里,淘宝京东拼多多等电商平台全部或某一大类商品进行爬取,并进行对比分析可视化,能够进行价格对比帮助购买者。

(4)生活服务信息的个性化推荐:针对某一真实的应用场景,如:景点、商场、学校等,建立使用的推荐系统,用户通过文字方式输入问题,系统自动分析问题并根据用户特征给出合理答案。

(5)基于大数据的城市管理:基于大数据构建城市管理或者城市发展所需要的系统,如城市日常生活中比较需要的生活服务(餐饮,娱乐,健身,住房等等)建立信息收集系统,制作可以向居民提供可视化信息与推荐的大数据系统。或者建立能够收集居民反馈的系统,并进行数据处理与分析。

(6)基于自身专业领域的大数据应用:将大数据应用于自身(或团队成员)的专业领域上解决某一问题并形成系统,如环境专业的地质灾害数据管理与预警系统;交通专业的实时路况信息与优化路线系统等等。用大数据的方法,对专业数据进行收集管理,针对某一问题或应用,形成系统展示。

下述举例几个细分的选题,可用于参考。要注意的是所有选题都需要合理的大数据存储与分析框架来构建系统,同时对数据存储,数据分析,数据可视化进行有效处理。

A、博客网站信息分析:对传统的博客网站进行大数据改造,通过flume等工具将日志存入大数据系统,通过建立点击率,停留时间,跳转率等数据的数据埋点建立数据管理与分析系统,通过数据建模分析和数据收集博客受欢迎的主要原因,并进行数据的可视化在网页进行动态展示等功能。要求功能必须完整选择合适的大数据技术框架,合理使用能够适用于大数据网站组件,同时要根据收集到的信息建立一定的功能而非单纯的数据收集与可视化。

B、社交媒体舆论监督系统:通过网络爬虫获取微博上部分账号的文本内容如微博及评论,以及有关账号的信息。然后建立社交账号关系网络或知识图谱进行社交网络分析,同时对有关文本进行数据处理,情感分析与话题,热点,关键字追踪等等。同时能够根据一定内容生成可视化效果。要求,采用合理的大数据存储与处理框架,数据获取量在一百万以上,能够利用大数据技术与自然语言处理技术对数据进行有效的处理,带有部分的可视化能力。

C、城市居民生活助手:将某一城市居民生活所需要的模块按需要进行分类如基础设施建设,生态环境,治安环境,收入水平,治安教育等,然后收集有关问题,将不同信息发送到有关部门。同时对问题进行存储和处理,根据反映问题进行问卷调查,根据调查结果建立人才吸引力评价模型,生活幸福度评价模型等数据模型以指导城市发展与城市政策的制定。

D、饮食业创业指南或城市美食指南:从各大美食网站抓取餐厅的店铺评分、店铺评价、地理位置、菜品销量、菜品口味、菜品价格、餐饮类型等数据,给出餐饮创业或者美食选择建议,要求参考城市不少于10个,数据量不小于五十万。

E、基于大数据信息管理系统:传统的信息管理系统偏向于传统业务的线上无纸化办公,但是并没有有效发掘信息的潜力,因此对传统的信息管理系统进行大数据改造,将数据进行大数据存储的同时,建立全套的大数据存储,分析与可视化系统如ELK等,部分内容需要建立搜索引擎。同时利用这些工具对数据进行分析得到一定的结果。要求真实或仿真数据,数据量不小于一百万。

F、股票数据获取与分析系统:通过网络爬虫或其他工具获取股票信息,并使用大数据中合适的方式进行有效的存储,同时建立有关系统进行数据可视化与统计分析,有能力者建立股票自动交易系统并制定一定的的自动交易策略,或按照有关论文预测建立预测模型,使用有关论文者需要提供论文电子版或者论文电子下载地址,股票预测是学术难题,请谨慎思考,选择合适的方法。

在这里插入图片描述
以下是本命题的数据处理流程图:

开发学习准备阶段

自选命题内容,制定需求方案、技术方案。进行自主或其他形式的学习培训,有针对性、有目标地进行大数据技能的学习准备。

学习阶段推荐使用“高寻真源大数据教学实训平台”。

原始数据准备

可使用自己熟悉的语言编写网络爬虫,也可以使用网上的开源或商业工具对互联网信息进行抓取,抓取网站可选择知名度较高的网站,抓取的数据量要足够多。具体抓取信息内容可根据最终分析内容进行选取。

此阶段要求完成计算机相关专业的就业前景分析的原始数据准备工作即可,若能保证易用性,通用性可成为加分项。例:以客户端或B/S架构等形式提供,可自由输入目标网站和目标数据,使爬虫程序可根据现实需求快速改变原始数据的内容,或者用户也可以上传自己的爬虫按照一定存储格式进行数据爬取,或直接上传数据集。

数据存储

上一步所抓取下来的数据,可存储于Apache Hadoop平台的有关存储系统中,如分布式文件系统hdfs,数据仓库hive,分布式数据库hbase或者分布式非关系型数据库数据库mongdb中,为后续的数据处理和可视化做准备,对存储的类型不做限制,也可以用其他适用于大数据的平台和容器存储

数据处理

数据处理手段可自主选择,推荐如spark,pyspark,hive等。

通过对原始数据半结构化数据的清洗、转换和汇总形成结构化数据后可以为后续数据分析提供直接可用的数据源

本阶段的项目目标是为后续数据分析提供直接可用的资源即可。若满足以下几点优化,可作为加分项

大数据平台性能调优,可利用调优前后的数据对比形成分析分档,说明调优目的,调优方法。

易用性和通用性:以客户端或B/S架构等形式提供操作界面,可对目标数据进行相应的可选择处理操作,最终在制定的位置或目标存储系统中生成优质数据。

数据分析与数据建模

数据分析的技术手段可自主选择。

数据建模优先使用spark或pyspark等大数据处理框架,同时也可以搭配Python或者java中的其他工具或R语言等进行建模,注意要有合理的数据分割与模型验证。

Python中推荐搭配pyspark使用的部分类库如下:

数据处理:numpy,pandas

深度学习:TensorFlow,PyTorch,Keras

数据可视化:Matplotlib,Seaborn,wordcloud

自然语言处理:pyhanlp

超参数优化:hyperopt

等等

数据可视化

对分析结果进行可视化展示,可自主编写程序或使用开源的可视化工具来做展示。

4 系统要求

(1)系统采用Hadoop、Spark等大数据平台构建。

(2)使用或改进常用的数据分析与挖掘方法完成数据分析功能。

(3)系统完成后需提供训练数据与测试数据,以检验系统的有效性。

(4)系统数据来源需真实,重要数据可进行脱敏处理,不可自行生成随机数据,数据来源的真实性需可验证,除选题要求特殊要求外数据量不少于100万条。

5 作品提交规范

每个参赛队的作品必须以压缩包形式上交,压缩包内需包含以下内容:

在目录下建立四个文件夹,分别命名为“源程序”、“数据”、“文档”和“演示”,必要时自己根据情况建立二级文件夹并清晰命名。

(1)将作品的源程序放入“源程序”文件夹中;

(2)将作品的数据放入“数据”文件夹中,训练数据与测试数据分开,还应包括必要的数据导入脚本;

(3)文档需包括分析报告与系统说明文档,都放到“文档”文件夹中。分析报告采用论文的形式说明系统的背景、意义、数据处理过程、数据分析与挖掘方法、结论等内容。系统说明文档应包括系统的运行环境、使用方法、测试方法、数据导入方法,应能够根据文档在全新环境中还原系统。

6 作品上交时间

请关注大赛网站通知www.softqilu.com及QQ群通知。

7 评比方式

1、提交的材料完整、齐全、可读性好。如果所提交的文档不完整,仍可以参加评比,但要适当扣分。

2、评比首先要看程序是否能完全还原,并正常运行,即运行中出现的错误不能使程序退出、陷入死循环或造成死机。如果出现上述情况,可以重新运行,但总尝试次数不能超过三次。

3、作品展示效果占比分的20%,功能及数据分析为80%。在正常运行基础上,以功能评比为主,在功能相近的情况下,考察程序的其他特色,重点看数据分析的思维,以鼓励学生运用大数据分析技术解决实际问题。

4、综合作品、文档、数据等多方面得出最终评比结果

8 参赛注意事项

l 多关注大赛网站http://www.softqilu.com

l 多关注大赛论坛

l 加入本命题QQ群

l 加入相关专业开发群

l 参加巡回报告会,与命题老师和往届获奖学生面对面交流

l 参加暑期训练营,与命题老师和其他参赛同学直接深入交流

l 多与往届获奖选手交流,知道一等奖应该具备什么水平,是如何炼就的

l 主动与指导老师交流

l 组建一支最有战斗力最合适的团队

l 与相关专业结合

l 多买些专业书籍看

l 多上网看一些高水平论文

l 多上网查询一些相关资料

l 认真审题,分析得分点

l 注意细节,细节决定成败

l 注意参赛的各个时间点和参赛的所有信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值