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. 然后再尝试去集群上跑
Hadoop 常用指令的更多相关文章
- hadoop常用指令
1.格式化名称节点:hadoop namenode -format 2.操作hadoop文件系统:hadoop fs -ls / 3.设置ubuntu默认以命令行方式启动 sudo gedit /et ...
- Linux常用指令全集
Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...
- linux常用指令
整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...
- 走进AngularJs(二) ng模板中常用指令的使用方式
通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...
- mac 终端 常用指令
开始正式研究ios 应用开发,由于是从C开始学起,所以学习下常用的mac终端指令,方便后续常用操作. mac 终端 常用指令: 1.ls指令 用途:列出文件 常用参数 -w 以简洁的形式列出所有文件和 ...
- ImageMagick常用指令详解
Imagemagick常用指令 (ImageMagick--蓝天白云) (ImageMagick官网) (其他比较有价值的IM参考) (图片自动旋转的前端实现方案) convert 转换图像格式和大小 ...
- [AngularJS] 常用指令
常用指令 ng-hide指令,用于控制部分HTML元素可见(ng-hide="false")和不可见状态(ng-hide="true"),如下: <div ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- linux下svn常用指令
windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的 ...
随机推荐
- mybatis调用oracle存储过程例子.
1.MYBATIS方法: <select id="getFlowNum" statementType="CALLABLE"> <![CDATA ...
- phpstrom 常用默认快捷键
ctrl+j 插入活动代码提示ctrl+alt+t 当前位置插入环绕代码alt+insert 生成代码菜单ctrl+shift+n 查找文件 ctrl+q 查看代码注释ctrl+d 复制当前行ctrl ...
- Android在使用WebView时,通过Javascript调用JAVA函数
webView = (WebView) findViewById(R.id.article_webview); //WebView启用Javascript脚本运行 webView.getSetting ...
- android 知识收集
1.无论是 Activity.BroadcastReceiver还是Service,只要是有长时间处理的任务,就需要重新开一个线程来处理,为什么会这样? 因为他们都是运行在主线程中的. 2.在使用Br ...
- Spring-Spring Bean后置处理器
Spring Bean后置处理器 BeanPostProcessor接口定义回调方法,你可以实现该方法来提供自己的实例化逻辑,依赖解析逻辑等.你也可以在Spring容器通过插入一个或多个BeanPos ...
- (0.2.7)Mysql安装——多实例安装
(0.2.6)Mysql安装——多实例安装 待完善
- cmd 运行jar文件
将java工程打成jar包,但第三方jar包并没有包含在包中,当在命令行中运行jar包时,出现类找不到的异常, 在网上看到解决办法是将第三方jar包放到JDK的扩展类文件夹中(%JAVA_HOME%/ ...
- go-008-循环语句
一.循环语句[只有for] 1.基础结构: Go语言的For循环有3中形式,只有其中的一种使用分号. 和 C 语言的 for 一样: for init; condition; post { } 和 C ...
- Java基础—输入输出流
流的概念 在Java中,流是从源到目的地的字节的有序序列.Java中有两种基本的流——输入流(InputStream)和输出流(OutputStream). 根据流相对于程序的另一个端点的不同,分为节 ...
- python学习笔记(二十五)重写父类方法
python继承中,如果子类在调用某个方法时,它首先是从派生类(也就是当前类)中去找对应的方法,如果当前类中找不到对应的方法,就会去基类(派生类)中去逐个查找. 若父类的方法不能满足子类的需要,那么子 ...