全部版块 我的主页
论坛 数据科学与人工智能 大数据分析
806 1
2017-12-11

         写给大数据开发初学者的话(四)


如果你已经按照《写给大数据开发初学者的话3》中第五章和第六章的流程认真完整的走了一遍,那么你应该已经具备以下技能和知识点:

  • 为什么Spark比MapReduce快。
  • 使用SparkSQL代替Hive,更快的运行SQL。
  • 使用Kafka完成数据的一次收集,多次消费架构。
  • 自己可以写程序完成Kafka的生产者和消费者。


点击进入21世纪大数据人才汇聚领域』

点击进入21世纪数据分析精英聚集地』

点击进入21世纪大数据高薪就业领地』



从前面的学习,你已经掌握了大数据平台中的数据采集、数据存储和计算、数据交换等大部分技能,而这其中的每一步,都需要一个任务(程序)来完成,各个任务之间又存在一定的依赖性,比如,必须等数据采集任务成功完成后,数据计算任务才能开始运行。如果一个任务执行失败,需要给开发运维人员发送告警,同时需要提供完整的日志来方便查错。


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

不仅仅是分析任务,数据采集、数据交换同样是一个个的任务。这些任务中,有的是定时触发,有点则需要依赖其他任务来触发。当平台中有几百上千个任务需要维护和运行时候,仅仅靠crontab远远不够了,这时便需要一个调度监控系统来完成这件事。调度监控系统是整个数据平台的中枢系统,类似于AppMaster,负责分配和监控任务。


7.1 Apache Oozie

1.    Oozie是什么?有哪些功能?

2.    Oozie可以调度哪些类型的任务(程序)?

3.    Oozie可以支持哪些任务触发方式?

4.    安装配置Oozie。


7.2 其他开源的任务调度系统

Azkaban:

https://azkaban.github.io/

light-task-scheduler:

https://github.com/ltsopensource/light-task-scheduler

Zeus:

https://github.com/alibaba/zeus

等等……

另外,我这边是之前单独开发的任务调度与监控系统,具体请参考《大数据平台任务调度与监控系统》.


如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的:


第八章:我的数据要实时

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


8.1 Storm

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

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

3.    Storm的简单安装和部署。

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


8.2 Spark Streaming

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

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

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


如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的:


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-12-11 09:53:58
《大数据平台任务调度与监控系统》
https://bbs.pinggu.org/thread-6119587-1-1.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群