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下大部分的 ...
随机推荐
- SpringCloud 进阶之Eureka(服务注册和发现)
1. Eureka 服务注册与发现 Eureka 是一个基于REST的服务,用于服务的的注册与发现; Eureka采用C-S的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册 ...
- LeetCode_链表操作1—Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2-& ...
- Ant-Design如何使用
1.下载Node.js Node.js的版本需要不低于V4.x,本不在省略,如果需要出门左转Node.js安装教程. 查看Node.js版本: C:\Users\Administrator>no ...
- 【云安全与同态加密_调研分析(6)】云计算及云安全主流体系架构与模型——By Me
云计算及云安全的主流体系架构与模型 1. 云计算主流安全参考模型 1.1 云计算安全参考 ...
- 004-Shell 基本运算符、算术运算符、关系运算符、布尔运算符、辑运算符、字符串运算符、文件测试运算符
一.概述 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 二.算术运算符 原生bash不支持简单的数学运算,但是可以通过其他命 ...
- uib-datepicker-popup 日期不可输入 只可以选择 :readonly="true"
<div name="{{property.name}}" style="display: flex" ng-switch-when="date ...
- Linux环境下Netstat与PS的使用
Linux下用netstat查看网络状态.端口状态 在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际 ...
- matplotlib绘制等高线图
参考自Matplotlib Python 画图教程 (莫烦Python)(12)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...
- python的数据类型的有序无序
列表有序可变 字典无序不可变 元组不可变 集合无序不可变 数字不可变 字符串不可变
- Java基础知识陷阱(五)
本文发表于本人博客. 今天我来说说关于静态变量初始化.数组.==与equals的问题,看下面代码: public class Test{ private final int age; private ...