写给大数据开发初学者的话5

时间:2022-12-28 20:40:18

见:http://lxw1234.com/archives/2017/01/832.htm



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

第九章:我的数据要对外

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

  1. 离线:比如,每天将前一天的数据提供到指定的数据源(DB、FILE、FTP)等;

离线数据的提供可以采用Sqoop、DataX等离线数据交换工具。

  1. 实时:比如,在线网站的推荐系统,需要实时从数据平台中获取给用户的推荐数据,这种要求延时非常低(50毫秒以内)。

根据延时要求和实时数据的查询需要,可能的方案有:HBase、Redis、MongoDB、ElasticSearch等。

  1. OLAP分析:OLAP除了要求底层的数据模型比较规范,另外,对查询的响应速度要求也越来越高,可能的方案有:Impala、Presto、SparkSQL、Kylin。如果你的数据模型比较规模,那么Kylin是最好的选择。
  2. 即席查询:即席查询的数据比较随意,一般很难建立通用的数据模型,因此可能的方案有:Impala、Presto、SparkSQL。

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

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

写给大数据开发初学者的话5

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

关于这块,我这个门外汉也只能是简单介绍一下了。数学专业毕业的我非常惭愧,很后悔当时没有好好学数学。

在我们的业务中,遇到的能用机器学习解决的问题大概这么三类:

  1. 分类问题:包括二分类和多分类,二分类就是解决了预测的问题,就像预测一封邮件是否垃圾邮件;多分类解决的是文本的分类;
  2. 聚类问题:从用户搜索过的关键词,对用户进行大概的归类。
  3. 推荐问题:根据用户的历史浏览和点击行为进行相关推荐。

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

入门学习线路:

  1. 数学基础;
  2. 机器学习实战(Machine Learning in Action),懂Python最好;
  3. SparkMlLib提供了一些封装好的算法,以及特征处理、特征选择的方法。

机器学习确实牛逼高大上,也是我学习的目标。

那么,可以把机器学习部分也加进你的“大数据平台”了。

写给大数据开发初学者的话5

 


写给大数据开发初学者的话1


写给大数据开发初学者的话2


第三章:把别处的数据搞到Hadoop上

第四章:把Hadoop上的数据搞到别处去

写给大数据开发初学者的话3

第五章:快一点吧,我的SQL

第六章:一夫多妻制

写给大数据开发初学者的话4

第七章:越来越多的分析任务

第八章:我的数据要实时

写给大数据开发初学者的话5

第九章:我的数据要对外

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