这一节,来认识下大数据的技术框架有哪些,它们分别用于解决哪些问题?它们的内在逻辑和适用场景有哪些?OK,一起去探索下。
首先,看一下大数据技术体系的整体架构图。根据数据流转的方向,从下而上进行介绍。
在前面,我们了解到,大数据的数据存储是分布式的,而且能够接受任务调度,与传统的数据存储存在差异。所以离线方式处理的数据,需要通过ETL模块,导入到大数据的数据存储系统进行存储;其中Sqoop是常见的抽取结构化数据工具;而Flume和Logstach是用于抽取非结构化、半结构化数据工具。
大数据的数据存储系统,最常见的就是分布式文件系统HDFS;如果需要使用NoSQL数据库功能,HBase是基于HDFS实现的一个分布式NoSQL数据库。
存储起来的数据,使用大数据的通用计算引擎MapReduce或Spark进行计算,这些计算任务会由资源管理框架——Yarn进行调度。将任务分发到数据的存储位置——HDFS中。
但使用通用计算引擎MapReduce或Spark编写处理任务,需要使用特定的语法;这样一来,原有的特定领域的传统业务,进行迁移时就会带来很多问题。比如原有的数据仓库,使用SQL进行数据处理任务,但迁移到大数据平台之后&#x