hodoop

一、理解Hadoop

        Hadoop_wiki上定义,Apache Hadoop is an open-source software framework used for distributed storage and processing of very large data sets.就是说Hadoop是(大数据下)分布式的数据处理框架。所以我们从 如下两个方面理解Hadoop。[我们接下来重点从Hadoop的改进上来说]

1.既然是分布式计算环境,那么跟一般的框架有什么不同呢?

比如一般地SETI@home这个框架,在分布式计算的时候会在client和server之间进行数据传输,所以它更适合于计算密集型任务,而不适合于数据密集型任务。那么在大数据环境下,该框架就显得低效了。so,可以很容易想到的一个改进就是不进行大量的数据迁移,这就是Hadoop的思想,“将代码向数据迁移,尽量让计算发生在数据驻留之地”,这就与Hadoop“面向数据密集型处理”的设计目标一致。

2.作为数据处理框架,与SQL数据库有什么不同?

1)Hadoop多面向非结构化文本数据的处理(使用key-value对),SQL是结构化数据库;

2)可以使用MR建立复杂的数据统计模型,SQL使用基本的操作语句;

3)Hadoop是面向离线批量处理,SQL多是在线操作。

Hadoop是一个用于分布式存储和处理大型数据集的开源框架。它提供了一种可扩展且可靠的方式来跨多个计算机集群存储和分析大数据。Hadoop由两个主要组件组成:用于可靠存储的Hadoop分布式文件系统(HDFS)和用于并行处理的MapReduce。它被设计用于处理大量数据,并提供容错性、高可扩展性和高效的数据处理。Hadoop广泛应用于各种行业,如数据仓库、日志处理、推荐系统和机器学习。

HDFS

定义

HDFS (Hadoop Distributed File System) ,它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。

HDFS 的使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用。

优缺点

优点:

( 1 )高容错性

        ①数据自动保存多个副本。它通过增加副本的形式,提高容错性。

        ②某一个副本丢失以后,它可以自动恢复。

(2)适合处理大数据

        ①数据规模:能够处理数据规模达到 GB 、 TB 、甚至 PB 级别的数据;

        ②文件规模:能够处理百万规模以上的文件数量,数量相当之大。

(3)可构建在廉价机器上,通过多副本机制,提高可靠性。

缺点:

( 1 )不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。

(2)无法高效的对大量小文件进行存储。

        ①存储大量小文件的话,它会占用 NameNode 大量的内存来存储文件目录和块信息。这

样是不可取的,因为 NameNode 的内存总是有限的;

        ②小文件存储的寻址时间会超过读取时间,它违反了 HDFS 的设计目标。

(3)不支持并发写入、文件随机修改。

        ①一个文件只能有一个写,不允许多个线程同时写;

        ②仅支持数据 append ( 追加 ) ,不支持文件的随机修改。

三、Hadoop 生态圈

Hadoop 生态圈是指围绕 Hadoop 软件框架为核心而出现的越来越多的相关软件框架,这些软件框架和 Hadoop 框架一起构成了一个生机勃勃的 Hadoop 生态圈。在特定场景下,Hadoop 有时也指代 Hadoop 生态圈。

Hadoop 生态圈的架构图

转载于:阿德小仔 骚戴 橘子oly

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值