一、背景
一个任务:需要计算一个100M的文本文件中的单词的个数。写程序可以解决。
需要计算1T的文本文件汇总单词的个数,就需要有Hadoop了。
所以,简单说Hadoop就是存储海量数据和分析海量数据的工具。
二、Hadoop
Hadoop是Apache基金会开发的分布式系统基础架构。用java编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。
1.Hadoop框架的核心
HDFS:一个高度容错性的分布式文件系统,为海量的数据提供了存储。可以理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。
MapReduce:为海量的数据提供了计算。可以理解成是一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。
2.Hadoop作用
大数据存储:分布式存储
日志处理:擅长日志分析
数据挖掘:目前比较流行的广告推荐,个性化广告推荐