
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
大数据技术的应用随着互联网的不断发展也变得越来越广泛,许多企业也都增加了大数据相关的岗位招聘,今天我们就简单来了解一下,大数据流程包含哪些步骤。
我们可以思考下整个大数据的流程是什么,从数据采集->数据存储->数据处理->数据应用,再加一个任务调度。每个流程都有很多对应的大数据框架,我们学习其中一两个比较重要,也就是企业用的较多的框架即可。
数据采集:就是把数据从其他平台采集到我们大数据平台,只是负责采集数据,所以对这个流程的框架要求是会用即可,日志采集工具如Flume,大数据平台与传统的数据库(mysql、postgresql...)间进行数据的传递工具如Sqoop,我们会用即可,这种工具上手也很快,没有太复杂的功能。
数据存储:数据存储就比较重要了,大数据如此流行,和大规模分布式数据存储快速发展有很大关系,当然数据存储的框架也比较多,不同的框架,功能不太一样,先一个:HadoopHDFS,分布式文件系统,HDFS的诞生,解决了海量数据的存储问题,但是一个优秀的数据存储系统需要同时考虑数据存储和访问两方面的问题,比如你希望能够对数据进行随机访问,这是传统的关系型数据库所擅长的,但却不是分布式文件系统所擅长的,那么有没有一种存储方案能够同时兼具分布式文件系统和关系型数据库的优点,基于这种需求,就产生了HBase、MongoDB等。
数据处理:大数据重要的环节就是数据处理了,数据处理通常分为两种:批处理和流处理。
批处理:对一段时间内海量的离线数据进行统一的处理,对应的处理框架有HadoopMapReduce、Spark、Flink等;
流处理:对运动中的数据进行处理,即在接收数据的同时就对其进行处理,对应的处理框架有SparkStreaming、Flink等。
批处理和流处理各有其适用的场景,时间不敏感或者硬件资源有限,可以采用批处理;
时间敏感和及时性要求高就可以采用流处理。随着服务器硬件的价格越来越低和大家对及时性的要求越来越高,流处理越来越普遍,如股票价格预测和电商运营数据分析等。
大数据是一个非常完善的生态圈,有需求就有解决方案。为了能够让熟悉SQL的人员也能够进行数据处理与分析,查询分析框架应运而生,常用的有Hive、SparkSQL、FlinkSQL、Phoenix等。这些框架都能够使用标准的SQL或者类SQL语法灵活地进行数据的查询分析。
这些SQL经过解析优化后转换为对应的作业程序来运行,如Hive本质上就是将SQL转换为MapReduce或Spark作业,Phoenix将SQL查询转换为一个或多个HBaseScan。
大数据流处理中使用的比较多的另外一个框架是Kafka,Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以用于消峰,避免在秒杀等场景下并发数据对流处理程序造成冲击。
数据应用:处理好的数据就可以输出应用了,如可视化展示,推动业务决策,用于推荐算法,机器学习等。
任务调度:复杂大数据处理的另外一个显著的问题是,如何调度多个复杂的并且彼此之间存在依赖关系的作业?基于这种需求,产生了Azkaban和Oozie等工作流调度框架。
同时针对集群资源管理的需求,又衍生了HadoopYARN,资源调度框架。
想要保证集群高可用,需要用到ZooKeeper,ZooKeeper是常用的分布式协调服务,它能够解决大多数集群问题,包括领选举、失败恢复、元数据存储及其一致性保证。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。