首页 >

为什么在数据量很大时(TB以上)需要利用hadoop系统? – 网络|

word2010怎么新建页面设置,怎么看电脑的mtu,怎么修改收录网站的标题为什么在数据量很大时(TB以上)需要利用hadoop系统? - 网络|为什么在数据量很大时,TB以上)需要利用hadoop系统

同时 Hadoop 是一款开源大数据组件,很多公司直接使用 Hadoop 技术,就可以满足公司内部的离线业务需求,技术成本很低。

Hadoop 文件系统将数据量大的文件分布式存储在不同机器,解决数据量大不能存储问题

Hadoop 中 HDFS 分布式文件系统,通过对数据体量非常大的文件进行分块,每个块默认 256 兆,将其分成数据量较小的多个块,然后对每个数据块在进行数据备份存储,一个数据块有三个数据副本,冗余的存储在集群上,通过数据冗余解决数据容错问题。

打个比方,你的一个文件大小为 1 TB 大小,单台机器磁盘 500 G 存不下。此时你将文件存储在 HDFS 文件系统上,那么该文件最终会按照 256 兆一个数据块,划分成 4000块,分布式的存储在 Hadoop 集群上面,每台机器都会存储这个文件的一个数据子集,这样就解决了数据量大单机不能存储的问题。

Hadoop MapReduce 分布式计算框架,解决单台机器不能计算问题

Hadoop MapReduce 计算框架包含两个步骤:Map阶段和Reduce阶段。由于 HDFS 文件系统将数据按照块进行存储,当在 Map 阶段的时候,会对每一个块进行计算,相当于对一个数据量大的文件,并行计算,每个 Map 任务处理的就是该文件的一个数据子集。

Reduce 阶段就是对 Map 任务产生的数据,在做一个汇总计算。打个比方,就比如 Hadoop 中 WordCount 场景,Map 阶段只是计算这个 Map 任务输入文件的中的每个单词的数量,但是多个 Map 任务中key有可能相同,所以最终还需要在 Reduce 任务中再进行一次汇总。

Map1 任务计算的单词 A 有 3 个,Map2 任务计算的单词 A 有 2 个,最后通过 Reduce 任务汇总,单词 A 个数就有 5 个。

个人想法

Hadoop 由于其开源特性,任何公司都可以使用其作为公司的大数据处理计算框架,所以 Hadoop 在国内使用的范围还是非常广的。同时有很多其他大数据组件最底层或多或少都需要使用到 Hadoop ,比如 HBase 数据库、Flink 实时计算引擎的状态存储等等,Hadoop 生态是非常广的,所以很多公司还在使用 Hadoop。

偶是Lake,专注大数据技术原理、人工智能、数据库技术、程序员经验分享,如果偶的问答对你有帮助的话,希望你能点赞关注偶,感谢。

偶会持续大数据、数据库方面的内容,如果你有任何问题,也私信偶,偶会认真解答每一个问题。期待您的关注


为什么在数据量很大时(TB以上)需要利用hadoop系统? - 网络|
  • 为什么很多Java程序员都不愿意升级到最新的jdk? - 网络|
  • 为什么很多Java程序员都不愿意升级到最新的jdk? - 网络| | 为什么很多Java程序员都不愿意升级到最新的jdk? - 网络| ...

    为什么在数据量很大时(TB以上)需要利用hadoop系统? - 网络|
  • 本人今年刚毕业二本电子信息工程专业,想学程序员或者大数据选择哪个更好? - 网络|
  • 本人今年刚毕业二本电子信息工程专业,想学程序员或者大数据选择哪个更好? - 网络| | 本人今年刚毕业二本电子信息工程专业,想学程序员或者大数据选择哪个更好? - 网络| ...

    为什么在数据量很大时(TB以上)需要利用hadoop系统? - 网络|
  • Flink如何处理乱序数据? - 网络|
  • Flink如何处理乱序数据? - 网络| | Flink如何处理乱序数据? - 网络| ...