《Hadoop 常用命令与 MapReduce 入门》
本文整理 hadoop fs 常用命令,并给出一个通过 Spark 读取 HDFS 文件做词频统计的入门示例。
1 hadoop fs 常用命令
# 创建目录
hadoop fs -mkdir /data
# 将本地文件上传到 HDFS
hadoop fs -put ./README.txt /data
# 查看目录内容
hadoop fs -ls /data
# 查看文件内容
hadoop fs -cat /data/README.txt
# 下载到本地
hadoop fs -get /data/README.txt ./
# 删除文件/目录
hadoop fs -rm /data/README.txt
hadoop fs -rm -r /data
2 MapReduce 入门资源
- 官方 MapReduce 教程:http://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html
- 官方单节点部署:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
- 官方集群部署:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html
3 通过 Spark 对 HDFS 文件做单词统计
以 Scala 为例,在 Spark 中读取 HDFS 上的文件并联计算词频:
val file = sc.textFile("hdfs://localhost:9000/data/README.txt")
val count = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
val res = count.collect()
要点:
- URL 中的
localhost:9000需与core-site.xml中fs.default.name配置一致。 flatMap先将每一行按空格切分成单词序列,再map生成(word, 1),最后由reduceByKey聚合得到每个单词出现的次数。
阅读 —
·
全站 —