• Python+Spark2.0+hadoop学习笔记——Hadoop MapReduce


    MapReduce是一种程序开发模式,可以使用大量服务器来并行处理。MapReduce,就是Map分配工作,Reduce将工作结果汇总整理。

    本次之中以WordCount为范例,计算文件中每一个英文单词出现的次数。

    1)创建wordcount目录

    mkdir -p ~/wordcount/input

    cd ~/wordcount

    使用sudo gedit WordCount.java来编辑文档。

    2)编译WordCount.java

    sudo gedit ~/.bashrc

    然后加入配置文件

    让~/.bashrc设置生效

    source ~/.bashrc

    接下来开始编译

    hadoop com.sun.tools.javac.Main WordCount.java

    jar cf wc.jar WordCount*.class

    ll

    3)创建测试文本文件

    cp /usr/local/hadoop/LICENSE.txt ~/wordcount/input

    ll ~/wordcount/input

    接下来启动所有虚拟服务器

    启动集群

    start-all.sh

    上传测试文件到HDFS目录

    hadoop fs -mkdir -p /user/wordcount/input

    切换到~/wordcount/input目录

    cd ~/wordcount/input

    上传文本文件到HDFS

    hadoop fs -copyFromLocal LICENSE.txt /user/wordcount/input

    列出HDFS文件

    hadoop fs -ls /user/wordcount/input

    4)运行WordCount.java

    切换目录

    cd ~/wordcount

    运行WordCount程序

    hadoop jar wc.jar WordCount /user/wordcount/input/LICENSE.txt /user/wordcount/output

    5)查看运行结果

    查看HDFS的目录

    hadoop fs -ls /user/wordcount/output

    查看HDFS中的输出文件内容

    hadoop fs -cat /user/wordcount/output/part-r-00000 |more

    再次执行WordCount程序请先删除输出目录

    hadoop fs -rm -R /user/wordcount/output

    Hadoop的MapReduce不是很好用,这里简单介绍一下。

  • 相关阅读:
    Java测试代码及原理
    mysql性能调优
    markdown
    nginx
    触发器实际使用时容易碰到的几个小坑
    redis
    log4j
    Json
    导入工程报错The import android cannot be resolved
    mybatis小记
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12583709.html
Copyright © 2020-2023  润新知