• Hadoop 常用指令


    1. 察看hdfs文件系统运行情况

      bin/hdfs dfsadmin -report

    2. 为了方便执行 HDFS 的操作指令,我们可以将需要的 Hadoop 路径写入环境变量中,便于直接执行命令。

      如原本需要在 Hadoop 的安装路径下:bin/hadoop fs -ls / 才能执行的命令。我们在 ~/.bash_profile 文件中写入

      export HADOOP_HOME=~/hadoop2.8.0

      export PATH=$PATH:$HADOOP_HOME/bin

      使用 source ~/.bash_profile 命令使当前用户的环境变量生效后,就可以直接输入 hadoop fs -ls / 来访问 HDFS 的根目录了。

    3. 察看并保存部分 HDFS 上的文件内容

      1. 依次察看一个比较大的文件内容

        hadoop fs -cat /user/test | less

      2. 保存大文件的部分内容到本地

        hadoop fs -cat /user/test | head -n 100 > test

        在这个过程中即使管道符后面的命令执行完了,也不会自动停止。因为会在后台默认执行管道符前面的内容,即显示文件的全部内容,此时手动中断即可。

    4. 合并 HDFS 输出文件

      hadoop fs -getmerge /user/ouput output.dat

      上述命令中 /user/output 是 HDFS 上的输出目录,下面有很多个输出文件。该命令可以将所有这些文件合并到本地的 output.dat 文件中。

    5. MapReduce 任务有多个输入时,每个 mapper 对应一个输入文件或者一个输入文件的一部分,此时可以通过环境变量来识别当前 mapper 处理的是哪个输入文件

      通过 os.environ["map_input_file"] 可以获取到当前输入文件的 HDFS 完整路径。再对路径进行分割判断即可。

      注意 os.path.split(path) 返回的是由路径和文件名组成的元组。如果路径为一个目录,那么返回目录,文件名为空。因此如果需要获取目录的某个特定级字段,需要手动对路径分割。

    import os
    os.path.split('C:/libo/test/filename')
    #输出结果为 ('C:/libo/test', 'filename')

     6. MapReduce 程序写完,一定要在本地测试

      1. 使用 echo -e "test" | python mapper.py 测试 mapper.py 函数功能

      2. 使用 echo -e "test" | python reducer.py 测试 reducer.py 函数功能

      3. 使用 echo -e "test" | python mapper.py | python reducer.py 测试整体功能

      4. 然后再尝试去集群上跑

  • 相关阅读:
    ListCtr 每一行都加上选择框
    VC中MFC check box的用法
    第二章 掌握C++(2)C++的特性(上)
    第二章 掌握C++(1)从结构到类
    道路横断面设计
    第一章 Windows程序内部运行机制(5)动手编写一个Windows程序
    第一章 Windows程序内部运行机制(4)WinMain函数(续)
    将div旋转任意角度
    地址栏图标修改
    script 错误
  • 原文地址:https://www.cnblogs.com/hopelee/p/7063154.html
Copyright © 2020-2023  润新知