大数据开发的总体架构

发布时间 2024-01-02 09:51:30作者: 田攀攀的博客

         很多小伙伴在学习了多年大数据后,最后不得不感慨:“大数据的知识太繁杂了,我已经被淹没在大数据的海洋里了!”确实是的,在大数据学习的过程中,随着学习的深入,越来越多的新名词和新框架让学习者有种欲哭无泪的感觉,那么,这篇博文就对大数据开发的一个总体架构做一个介绍吧,让大家学习过程中,不至于迷失方向。先上一张图:

 好了,现在来大概说明一下:

(1)数据来源层

        在大数据领域,数据的来源往往是关系型数据库、日志文件和其他非结构化数据等。要想对这些大量的数据进行离线或实时分析,需要使用数据传输工具将其导入Hadoop平台或其他大数据集群中。

(2)数据传输层

         数据传输工具常用的有Flume、Sqoop、Kafka。Flume是一个日志收集系统,用于将大量日志数据从许多不同的源进行收集、聚合,最终移动到一个集中的数据中心进行存储;Sqoop主要用于将数据在关系型数据库和Hadoop平台之间进行相互转移;Kafka是一个发布与订阅消息系统,它可以实时处理大量消息数据以满足各种需求,相当于数据中转站。

 (3)数据存储层

     数据可以存储于分布式文件系统HDFS中,也可以存储于分布式数据库HBase中,而HBase的底层实际上还是将数据存储于HDFS中。此外,为了满足对大量数据的快速检索与统计,可以使用Elasticsearch作为全文检索引擎。