现在数据哥就送你一本秘籍:《七步成就大数据项目》,助你完成大数据项目,出任CEO,赢取白富美,走上人生巅峰。
为了验证这本秘籍有多靠谱,我拿一个接地气的案例来展开。
你的理论:用twitter数据预测XX行业趋势。
终极目标:卖钱!
本秘籍假设的项目用AWS来实现,并非给AWS打广告,无他,但手熟尔。
第1步
获取数据
在开始做事之前,你需要证明你的理论可行,要做到这一点,你必须收集数据。
1.如何获取数据?
twitter的数据可以通过公共API来访问,你要做的只是用你最熟悉的编程语言,比如JAVA,写一个可以下载用户推文的小程序。
选择一个领域,比如教育,运行你写的程序,下载这个领域下的所有KOL的推文,然后你就获得了大量的推文数据。至于粉丝数量达到什么样的级别才算KOL,你自己设定。
如果你选择的不是教育领域而是大数据领域,那么恭喜你,你中奖了!因为KDNuggets有一个现成的twitter大数据领域影响力列表:
http://www.kdnuggets.com/2016/02/big-data-top-influencers-brands.html
如果你想在云端执行此操作,您可以启动一个简单的AWSEC2Linuxinstance(nano或micro),并运行您的软件。
2.如何存储数据?
存储数据的最佳方法是使用简单的“.csv”格式。每行一行,包括推文的文字和元信息。
在这个例子中,你的元信息应该包括人、时间、回复、转发和点赞。
完成后,将文件上传到AWSS3上。
3.提取多少数据?
我的建议是在合理的时间内尽可能多地获取数据,让你的程序尽情地跑吧。自己生的程序,不多跑几天多浪费,是吧?需要注意的是,twitter有严格的API规则,在一定时间内可以查询一定数量的数据,所以你还不能让你亲生程序撒开了跑,否则过不了多长时间就会请求超时。
不管怎样,你能爬到几个月的twitter历史数据应该是够够的了。要获得多少数据并没有一个标准,你高兴就好。
如果你用来跑数据的机器很渣,那还是少爬一点吧,免得尴尬。
第2步
选择合适的分析工具
爬到数据后,你需要选择合适的分析工具进行分析。你认为你需要什么分析功能?列一个清单,然后筛选能满足你需求的工具。
你要牢记一个宗旨:好吃不贵!
不好意思,好用不贵!
您可以用Orange、RapidMiner或Knime等工具,如果你觉得数据哥给你推荐这些现成的工具是对你技术的极大侮辱,那么请自己写分析。对数据分析来讲,Python和R很不错,如果你嫌弃它们,想用Matlab,数据哥还是那句话:你高兴就好。
第3步
证明你的理论
有了数据和工具,你就可以拿起数据的武器开疆拓土了!是时候用你的数据来证明你的理论不是信口胡诌了!
首先用你的数据来证明一个你已经知道的趋势。比如去百度一个或者谷歌一个已经被报道很多次的趋势报告,然后创建分析流程。
如果分析结果符合你指定的“老”趋势,那么说明你的项目目前为止没有跑偏,那么继续查找并验证“老”趋势吧!
在进行下一步之前,你需要确定您的容错率是多少,0%的错误率绝对不现实,别跟自己过不去。
第4步
找出你的商业模式
在技术上跑通之后,你应该先退后一步,找出您的商业模式。
问问自己:
你做的是什么?
你需要什么资源?
谁是你的潜在客户?
你能为客户提供什么价值?
你如何才能将产品卖给他们?
客户付钱是为了得到什么价值?
所有这些都想清楚之后,再进行下一步。如果有某些问题还没有想清楚,但你不想浪费时间,想直接进行下一步,数据哥还是那句话:你高兴就好!
第5步
构建最小可行产品
在用技术证明你的理论可行之后,现在就可以开始构建一个最简化可行产品(MinimumViableProduct,简称MVP)的第一个版本了。构建最简化可行产品的目标是构建一个只提供核心功能的解决方案来快速检验你的产品或方向是否可行。如果你的假设得到了验证,再投入资源大规模进入市场;如果没有通过,那这就是一次快速试错,尽快调整方向。
想验证你炒的菜能不能吃,一个西红柿炒鸡蛋就够了,不需要做瑶柱双菇蒸豆腐。同理,验证你的产品可行,要摒弃那些花哨的功能,专注于您需要实现的主要功能,在以后的产品更新迭代中再扩展功能。
你的MVP1.0看起来可能像这样:
这应该就是你向客户提供的第一个版本,它的核心功能:从twitter爬取数据并向客户展示分析结果。
第6步
自动化和监测所有内容
最简化可行产品通常不仅缺少功能,还比较不智能,因此你需要尽可能多地把它自动化。让产品自动上传数据到S3、编写自动化脚本、自动开始分析数据、将下载脚本连接到RDS数据库、动态读取影响力列表。能自动化的全部自动化,自动创建API来提取和存储数据。
你需要知道你下一步应该开发什么东西,不只是在新功能方面,还涉及到平台修复和提高运行速度。你需要设置日志和监测系统,监测从twitter爬取数据的过程和往S3上传数据的过程,记录分析流程所用的时间和其他统计信息。
你也可以用像Nagios这样的工具来记录服务器统计信息,如CPU、RAM、network等。
同时你要记录用户正在做什么,每当用户使用用户界面的特定功能时,在日志中写上一行。
第7步
不断迭代
完成了前面的6步,你的MVP1.0应该就能马不停蹄地给你赚钱了。同时你也全面地掌握了你的平台上的信息:
1.爬取数据的速度;
2.数据存储和分析的性能;
3.客户在做什么。
由于你设置了全面的日志记录,产品中的所有缺点你都能直观地看出来。接下来就是进一步提升系统的时候了。
1.根据日志来优化系统的整体性能和稳定性;
2.扩展新功来为客户提供更多价值。
结论
如此看来,把想法变成一个成功的项目真的很简单,只需要7步:
1.获取数据;
2.选择合适的分析工具;
3.用科学验证你的理论;
4.想出你的商业模式;
5.构建最简化可行产品;
6.自动化和监测所有内容;
7.不断迭代。
这7个步骤将产品的开发过程化繁为简,帮你设定优先事项,充分利用时间。
不过扎心地讲:
不保证成功