大数据学习方向,学好大数据与机器学习需要有怎样的数学基础? (4)

Azkaban,light-task-scheduler,Zeus,等等。另外,我这边是之前单独开发的任务调度与监控系统,具体请参考《大数据平台任务调度与监控系统》。如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的:

第八章:我的数据要实时

在第六章介绍Kafka的时候提到了一些需要实时指标的业务场景,实时基本可以分为绝对实时和准实时,绝对实时的延迟要求一般在毫秒级,准实时的延迟要求一般在秒、分钟级。对于需要绝对实时的业务场景,用的比较多的是Storm,对于其他准实时的业务场景,可以是Storm,也可以是Spark Streaming。当然,如果可以的话,也可以自己写程序来做。

8.1 Storm

什么是Storm?有哪些可能的应用场景?

Storm由哪些核心组件构成,各自担任什么角色?

Storm的简单安装和部署。

自己编写Demo程序,使用Storm完成实时数据流计算。

8.2 Spark Streaming

什么是Spark Streaming,它和Spark是什么关系?

Spark Streaming和Storm比较,各有什么优缺点?

使用Kafka + Spark Streaming,完成实时计算的Demo程序。

至此,你的大数据平台底层架构已经成型了,其中包括了数据采集、数据存储与计算(离线和实时)、数据同步、任务调度与监控这几大模块。接下来是时候考虑如何更好的对外提供数据了。

第九章:数据要对外

通常对外(业务)提供数据访问,大体上包含以下方面。

离线:比如,每天将前一天的数据提供到指定的数据源(DB、FILE、FTP)等;离线数据的提供可以采用Sqoop、DataX等离线数据交换工具。

实时:比如,在线网站的推荐系统,需要实时从数据平台中获取给用户的推荐数据,这种要求延时非常低(50毫秒以内)。根据延时要求和实时数据的查询需要,可能的方案有:HBase、Redis、MongoDB、ElasticSearch等。

OLAP分析:OLAP除了要求底层的数据模型比较规范,另外,对查询的响应速度要求也越来越高,可能的方案有:Impala、Presto、SparkSQL、Kylin。如果你的数据模型比较规模,那么Kylin是最好的选择。

即席查询:即席查询的数据比较随意,一般很难建立通用的数据模型,因此可能的方案有:Impala、Presto、SparkSQL。

这么多比较成熟的框架和方案,需要结合自己的业务需求及数据平台技术架构,选择合适的。原则只有一个:越简单越稳定的,就是最好的。

如果你已经掌握了如何很好的对外(业务)提供数据,那么你的“大数据平台”应该是这样的:

第十章:牛逼高大上的机器学习

关于这块,也只能是简单介绍一下了,研究不深入。在业务中,遇到的能用机器学习解决的问题大概这么三类:

分类问题:包括二分类和多分类,二分类就是解决了预测的问题,就像预测一封邮件是否垃圾邮件;多分类解决的是文本的分类;

聚类问题:从用户搜索过的关键词,对用户进行大概的归类。

推荐问题:根据用户的历史浏览和点击行为进行相关推荐。

大多数行业,使用机器学习解决的也就是这几类问题。

入门学习线路,数学基础;机器学习实战,懂Python最好;SparkMlLib提供了一些封装好的算法,以及特征处理、特征选择的方法。

机器学习确实牛逼高大上,也是我学习的目标。那么,可以把机器学习部分也加进你的“大数据平台”了。

准备好接受大数据了吗?开始学习吧,提高技能,提高核心竞争力。也给自己的未来一个机会。

如今大数据、机器学习与人工智能越来越受人追捧,那么步入这一领域需要有怎样的数学基础?下面笔者给大家一点建议。

做机器学习需要有怎样的数学基础,笔者建议大家可以先直接看一些开源模块的理论的文档 ,或者一些论文。论文里面的公式都可以理解和推导了,那肯定没有什么问题。或者去理解下比如BP推导,梯度推导,牛顿法推导,这些基础算法有较多的数学公式,试着去推导一下,如果感觉过程较顺利,那应该也是没有问题的。也可以去拿一些面试题中的题目检查下自己,感觉可以答出其中的数学原理了,那也应该是没有问题的。比如BAT机器学习面试题这里面还是很多涉及机器学习数学面试题的,同学们可以参阅。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwdpz.html