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下大部分的 ...
随机推荐
- jquery插件网址
各种分布图的插件:http://echarts.baidu.com/demo.html
- shell基础知识总结
1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对 ...
- Python性能优化的20条建议
优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场 ...
- 跟我学Makefile(一)
1.首先,把源文件编译生成中间代码文件,Windows下.obj文件,unix下.o文件,即Object File.这个动作叫编译(compile) 把大量的Object File合并执行文件,叫做链 ...
- BC#29A:GTY's math problem(math) B:GTY's birthday gift(矩阵快速幂)
A: HDU5170 这题让比较a^b与c^d的大小.1<=a,b,c,d<=1000. 显然这题没法直接做,要利用对数来求,但是在math库中有关的对数函数返回的都是浮点数,所以这又要涉 ...
- HALCON串口通讯程序
串口通讯程序 * Note: This example is meant to demonstrate the use of the serial interface * of HALCON. ...
- 07 nginx反向代理和nfs服务
作业一:nginx服务二进制安装nginx包 作为web服务修改配置文件 让配置生效,验证配置 作业二:nfs服务二进制安装nfs作为共享存储挂载在三台web的网站根目录下实现,在任意一台web上修改 ...
- 下拉刷新&上拉加载
效果演示 核心codehtml <ion-view view-title="学生list"> <ion-content > <ion-refreshe ...
- cdoj1587 失恋772002天
地址:http://acm.uestc.edu.cn/#/problem/show/1587 题目: 失恋772002天 Time Limit: 3000/1000MS (Java/Others) ...
- Winter-2-STL-E Andy's First Dictionary 解题报告及测试数据
use stringstream Time Limit:3000MS Memory Limit:0KB Description Andy, 8, has a dream - he wants ...