1、Hadoop简介:
Hadoop是Apache旗下的一个用Java语言实现的开源软件框架,是一个开发和运行处理大规模数据的软件平台。
Hadoop的核心组件包括Hadoop分布式文件系统(HDFS)和MapReduce编程模型。HDFS是一个高度容错的系统,用于存储大规模数据集,具有高可靠性、高扩展性和高吞吐率的特点。MapReduce则是一个用于处理这些数据集的编程模型,它简化了并行编程的复杂性,使得开发者可以专注于业务逻辑的实现。
Hadoop的优势在于其高可靠性、高扩展性、高效性、高容错性以及低成本。它能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。此外,Hadoop还提供了一个完备的生态系统,包括了许多与之配合使用的开源工具和组件,如Hive、Pig、HBase、ZooKeeper等,这些工具可以快速地构建数据分析和处理系统。
很多Hadoop应用都是基于WordCount所代表的MapReduce编程模型变化而来,因此,WordCount可以算是入门Hadoop的“Helloworld”程序,本文将详细说明如何运行一个WordCount任务。
2、Ubuntu安装Hadoop
详见:Ubuntu安装Hadoop3.4-CSDN博客
3、WordCount测试
启动Hadoop:
start-all.sh
在Hadoop中创建测试文件夹
$ hdfs dfs -mkdir /user
$ hdfs dfs -mkdir /user/hadoop
上传本地文件至hadoop用作后续测试:
$ hdfs dfs -put /home/hadoop/training/hadoop-3.4.0/etc/hadoop /user/hadoop/input
查看上传的文件:
hdfs dfs -ls /user/hadoop/input
在share/hadoop目录中有一些示例jar包,我们将运行hadoop-mapreduce-examples-3.4.0.jar来完成词频统计任务。
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.0.jar wordcount /user/hadoop/input /user/hadoop/output
完成此任务需要一些时间,需要耐心等待,可以在终端看到运行过程。
WordCount任务完成后,将output下载至本地:
hdfs dfs -get /user/hadoop/output output
查看词频统计结果: