提到大数据,分布式是反复被提及的重要思想,大规模的数据处理,采用分布式系统是相对来说成本更低且更易实现的方式。今天的大数据开发分享,我们就主要来讲讲,大数据分布式系统到底有哪些?
通常来说,提到分布式系统,大致可以为分布式计算系统和分布式文件系统,而在分布式计算系统和分布式文件系统当中,又有具体的框架产品。
一、分布式计算系统
1.Hadoop:MapReduce
定义:一种大数据编程模型,将数据处理运用Map和Reduce的概念进行分而治之的处理。
理念:分而治之,将大任务划分为小任务。
应用场景:批处理(一次性处理数据)
2.Spark
定义:基于内存优化的分布式大数据计算框架。
理念:分而治之,将大任务划分成小任务,引入RDD概念。
应用场景:批处理(效率最好)+流处理(微小批处理)。
3.Flink
定义:分布式大数据处理框架,对流数据可以进行计算。
理念:实时处理。
应用场景:流处理。
4.分布式消息队列系统
Kafka:分布式消息队列。具有高性能,持久化,多副本备份,横向扩展能力。生产者往队列里写消息,消费者从队列中取消息进行业务逻辑。
5.分布式机器学习系统
Spark机器学习(Spark ML)
定义:以Spark为计算引擎的分布式机器学习框架。
特点:提供分布式的模型训练环境;训练数据集分布式处理的环境。
常见的机器学习框架:sklearn、Tensorflow、Pytorch。
二、分布式文件系统
文件系统是一种存储和组织计算机数据的方法,利用抽象的文件和目录代替了电脑硬盘或者光盘使用数据块的概念。
文件系统将硬盘以块为单位进行划分,每个文件都占据若干块。然后再通过一个文件控制块(File Control Block)记录每个文件占据的硬盘数据块。
分布式文件系统是将文件存储在不同的服务器上面。用户不能直接访问,而是通过网络,利用特定的通信协议和文件服务器进行沟通。
市场上典型的分布式文件系统,以Hadoop的HDFS受到主流青睐,基于Hadoop生态圈,可以与诸多技术框架集成,性能表现优秀。
除此之外,也有一些其他的分布式文件系统,如:GFS 、TFS等。
关于大数据开发,大数据分布式系统到底有哪些,以上就为大家做了简单的介绍了。做大数据开发,对于分布式系统的掌握是必备的基础,从理论到技术框架都要投入相当的精力才行。
网友评论