我认为学习任何东西的方法就是实际使用它。幸运的是,我们有大量的大数据技术和分析工具,它们都是开源的,或者让您可以通过试用或者dev许可的进行免费学习。
或者为了提供一个简单的答案,我会假设您想要使用的大数据工具是Hadoop技术堆栈。 为了不提供过于简单的答案,您不会寻找已经建立的行业解决方案或SaaS提供商。 一般来说,NoSQL数据库并不真正用于分析(但可能是源)。
1 想想你想解决的大数据问题
传统上,大数据已被“3Vs”描述:体积,品种,速度。你想要捕捉什么样的指标? 现在最常见的用例是涉及大量的日志数据。这是因为日志数据往往是非结构化的,可能来自多个来源,特别是对于热门网站,可能会很大(每天TB)。因此,具有执行分布式计算任务的框架对于解决这个问题至关重要。
2 下载并设置您的大数据解决方案
最简单的方法就是使用预构建的虚拟机,这个虚拟机几乎可以让任何Hadoop提供者免费使用,然后在本地运行它。您也可以使用亚马逊网络服务等服务。大多数人通常会使用map-reduce框架和Hive来处理大量的数据。既然你只是想学习,你不需要兆字节,甚至千兆字节的数据,所以访问一个100个节点的集群并不是一个优先事项。 尽管一旦开始进入多节点环境,肯定会遇到一些克服和理解的挑战。
3 解决你的大数据问题
一旦你建立了你的环境,去编码! 有大量的文档和教程可以参考和学习[2]。 而且,只需在Google中输入问题,就可以获得大量资源。 阅读这些工具并了解该技术如何应用于解决您的使用案例。 考虑一下您希望在数据中捕获的各种指标。 想想你需要写什么样的map-reduce程序来捕获你想要分析的数据。 想想你如何利用像Hive或Pig这样的东西来完成大量的繁重数据处理工作。 在单个节点环境中可能不会显而易见的东西,在分布式环境中会影响性能甚至出现问题。
4 分析与可视化:大数据和BI的性感一面
既然您已经解决了您的大数据问题,并以可管理的格式存储了您的数据,那么您可以利用一些靓丽的报告来向你的老板炫耀。大多数利用Hadoop的企业架构仍然会有一个SQL数据库用于存储和报告Hadoop中的数据(您将很快意识到map-reduce的响应时间非常长,即使在小数据集上也是如此)。将数据从Hadoop加载到SQL数据库中对于现实世界来说是很好的做法,但为了学习大数据它不是必要的。有几个(免费的)报告工具可以直接连接到Hadoop / Hive,并且可以很好地用于学习目的。如果你想成为这个街区上的酷儿(并且在大公司中超级可雇用),我会选择Tableau(产品)。你也可以借助一些工具来获得一些预测建模和机器学习技能,并且可能开始称自己为数据科学家。